@Override public FieldVector getNewVector( String name, FieldType fieldType, BufferAllocator allocator, CallBack schemaChangeCallback) { return new BitVector(name, fieldType, allocator); }
public TransferImpl(String ref, BufferAllocator allocator) { to = new BitVector(ref, field.getFieldType(), allocator); }
/** * * @param allocator * @param name * @return */ public static BitVector booleanVectorOf(BufferAllocator allocator,String name,int length) { BitVector float8Vector = new BitVector(name,allocator); float8Vector.allocateNew(length); float8Vector.setValueCount(length); return float8Vector; }
/** * * @param allocator * @param name * @param data * @return */ public static BitVector vectorFor(BufferAllocator allocator,String name,boolean[] data) { BitVector float8Vector = new BitVector(name,allocator); float8Vector.allocateNew(data.length); for(int i = 0; i < data.length; i++) { float8Vector.setSafe(i,data[i] ? 1 : 0); } float8Vector.setValueCount(data.length); return float8Vector; }
/** 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; }
final BitVector output = new BitVector("", allocator); final VectorContainer container = new VectorContainer(); ){
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; }
VarCharVector col5 = new VarCharVector("col5", allocator); VarCharVector col6 = new VarCharVector("col6", allocator); BitVector col7 = new BitVector("col7", allocator); ){
@Test public void boolNullEveryOther() throws Exception { final int count = 1024; try ( BitVector in = new BitVector("in", allocator); BitVector out = new BitVector("out", allocator); ) { in.allocateNew(count); ArrowBuf tempBuf = allocator.buffer(1024); for (int i = 0; i < count; i ++) { if (i % 2 == 0) { in.set(i, 1); } } in.setValueCount(count); final PivotDef pivot = PivotBuilder.getBlockDefinition(new FieldVectorPair(in, out)); try ( final FixedBlockVector fbv = new FixedBlockVector(allocator, pivot.getBlockWidth()); final VariableBlockVector vbv = new VariableBlockVector(allocator, pivot.getVariableCount()); ) { fbv.ensureAvailableBlocks(count); Pivots.pivot(pivot, count, fbv, vbv); Unpivots.unpivot(pivot, fbv, vbv, 0, count); for (int i = 0; i < count; i++) { assertEquals(in.getObject(i), out.getObject(i)); } } tempBuf.release(); } }
return new VarCharVector(field.getName(), allocator); case BIT: return new BitVector(field.getName(), allocator); default: break;
new BitVector("colBit", ALLOCATOR), new VarCharVector("colVarChar", ALLOCATOR), testEmptyListVector(),
@Test public void testConvertBitsToBytes() { try ( BufferAllocator allocator = new RootAllocator(Integer.MAX_VALUE); BitVector bits = new BitVector("$bits$", allocator); UInt1Vector bytes = new UInt1Vector("$bits$", allocator); ) { int count = 100; for (int i = 0; i < count ; i++) { bits.setSafe(i, i % 2); } bits.setValueCount(count); ArrowBuf oldBuf = bits.getDataBuffer(); oldBuf.retain(); SerializedField.Builder fieldBuilder = TypeHelper.getMetadataBuilder(bits); ArrowBuf newBuf = convertBitsToBytes(allocator, fieldBuilder, oldBuf); bytes.setValueCount(count); SerializedField.Builder newfieldBuilder = TypeHelper.getMetadataBuilder(bytes); TypeHelper.loadData(bytes, newfieldBuilder.build(), newBuf); for (int i = 0; i < count ; i++) { assertEquals(i % 2, bytes.get(i)); } newBuf.release(); } }
BigIntVector col2 = new BigIntVector("col2", allocator); DecimalVector col3 = new DecimalVector("col3", allocator, 30, 0); BitVector col4 = new BitVector("col4", allocator)){
BigIntVector col2 = new BigIntVector("col2", allocator); DecimalVector col3 = new DecimalVector("col3", allocator, 30, 0); BitVector col4 = new BitVector("col4", allocator)){