public void writeNull() { vector.setNull(idx()); vector.setValueCount(idx()+1); } }
/** Helper method which creates a test bit vector */ private static BitVector testBitVector() { BitVector colBitV = new BitVector("colBit", ALLOCATOR); colBitV.allocateNew(5); for(int i=0; i<TEST_BIT_VALUES.size(); i++) { if (TEST_BIT_VALUES.get(i) == null) { colBitV.setNull(i); } else { colBitV.set(i, TEST_BIT_VALUES.get(i) ? 1 : 0); } } return colBitV; }
private void decodeBoolean(IntVector input, BitVector output) { 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, id); } } } else { for (int i = 0; i < recordsConsumedCurrentBatch; ++i) { if (input.isNull(i)) { output.setNull(i); } else { final int id = input.get(i); output.setSafe(i, id); } } } }
private static Boolean[] populateBooleanValues(BitVector vector, int size) { assert size >= 4096; vector.allocateNew(size); Boolean[] booleanValues = new Boolean[size]; for (int i = 0; i < size; i++) { if (i < 64 || (i >= 256 && i < 256 + 64)) { vector.setNull(i); continue; } if ((i % 6) != 0) { /* every 6th value in boolean column is null */ if ((i & 1) == 0) { /* column value true */ vector.set(i, 1); booleanValues[i] = true; } else { /* column value false */ vector.set(i, 0); booleanValues[i] = false; } } else { vector.setNull(i); booleanValues[i] = null; } } vector.setValueCount(size); return booleanValues; }
private static Boolean[] populateBooleanValuesWithoutNull(BitVector vector, int size) { assert size >= 4096; vector.allocateNew(size); Boolean[] booleanValues = new Boolean[size]; for (int i = 0; i < size; i++) { if (i < 64 || (i >= 256 && i < 256 + 64)) { vector.setNull(i); continue; } if ((i % 6) != 0) { /* every 6th value in boolean column is null */ if ((i & 1) == 0) { /* column value true */ vector.set(i, 1); booleanValues[i] = true; } else { /* column value false */ vector.set(i, 0); booleanValues[i] = false; } } else { vector.setNull(i); booleanValues[i] = null; } } vector.setValueCount(size); return booleanValues; }
private static Pair<BitVector, ResultVerifier> testBitVector(final int startIndexInCurrentOutput, final int startIndexInJob) { BitVector colBitV = new BitVector("colBit", allocator); colBitV.allocateNew(5); colBitV.set(0, 1); colBitV.set(1, 0); colBitV.setNull(2); colBitV.set(3, 1); colBitV.set(4, 1); ResultVerifier verifier = new ResultVerifier() { @Override public void verify(DataPOJO output) { int index = startIndexInCurrentOutput; assertTrue((Boolean)output.extractValue("colBit", index++)); assertFalse((Boolean)output.extractValue("colBit", index++)); assertNull(output.extractValue("colBit", index++)); assertTrue((Boolean)output.extractValue("colBit", index++)); assertTrue((Boolean)output.extractValue("colBit", index)); } }; return Pair.of(colBitV, verifier); }
private BitVector bitVector(String name) { BitVector vec = new BitVector(name, getAllocator()); vec.allocateNew(COUNT); vec.set(0, 1); vec.set(1, 0); vec.setNull(2); vec.set(3, 1); vec.set(4, 1); vec.setValueCount(COUNT); return vec; }