public void writeNull() { vector.setNull(idx()); vector.setValueCount(idx()+1); } }
private void decodeDate(IntVector input, DateMilliVector output, IntVector dictionary) { // dates are stored as int32 in parquet dictionaries if (hasSv2) { final SelectionVector2 sv2 = incoming.getSelectionVector2(); for (int i = 0; i < recordsConsumedCurrentBatch; ++i) { final int svIndex = sv2.getIndex(i); if (input.isNull(svIndex)) { output.setNull(svIndex); } else { final int id = input.get(svIndex); output.setSafe(svIndex, dictionary.get(id) * (long) DateTimeConstants.MILLIS_PER_DAY); } } } else { for (int i = 0; i < recordsConsumedCurrentBatch; ++i) { if (input.isNull(i)) { output.setNull(i); } else { int id = input.get(i); output.setSafe(i, dictionary.get(id) * (long) DateTimeConstants.MILLIS_PER_DAY); } } } }
private static Pair<DateMilliVector, ResultVerifier> testDateMilliVector(final int startIndexInCurrentOutput, final int startIndexInJob) { DateMilliVector colDateV = new DateMilliVector("colDate", allocator); colDateV.allocateNew(5); colDateV.set(0, 234); colDateV.set(1, -2342); colDateV.setNull(2); colDateV.set(3, 384928359245L); colDateV.set(4, 2342893433L); ResultVerifier verifier = new ResultVerifier() { @Override public void verify(DataPOJO output) { int index = startIndexInCurrentOutput; assertEquals("1970-01-01", output.extractValue("colDate", index++)); assertEquals("1969-12-31", output.extractValue("colDate", index++)); assertNull(output.extractValue("colDate", index++)); assertEquals("1982-03-14", output.extractValue("colDate", index++)); assertEquals("1970-01-28", output.extractValue("colDate", index++)); } }; return Pair.of(colDateV, verifier); }