public void getFieldById(int fieldId, NullableVarBinaryHolder holder) { ((VarBinaryVector) vectors[fieldId]).get(currentIndex, holder); }
public void getFieldById(int fieldId, VarBinaryHolder holder) { ((VarBinaryVector) vectors[fieldId]).get(currentIndex); }
/** * Get the variable length element at specified index as Text. * * @param index position of element to get * @return byte array for non-null element, null otherwise */ public byte[] getObject(int index) { byte[] b; try { b = get(index); } catch (IllegalStateException e) { return null; } return b; }
@Override public byte[] getBytes(int index) { if (ac.isNull(index)) { return null; } return ac.get(index); }
@Override byte[] getBytes(int inputIndex) { if(vector.isNull(inputIndex)){ return null; } return vector.get(inputIndex); }
public void read(NullableVarBinaryHolder h){ vector.get(idx(), h); }
@Override public String getString(int index) { if (ac.isNull(index)) { return null; } byte [] b = ac.get(index); return DremioStringUtils.toBinaryString(b); }
@Override public InputStream getStream(int index) { if (ac.isNull(index)) { return null; } NullableVarBinaryHolder h = new NullableVarBinaryHolder(); ac.get(index, h); return new ByteBufInputStream(h.buffer.slice(h.start, h.end)); }
private void decodeVarChar(IntVector input, VarCharVector output, VarBinaryVector dictionary) { if (hasSv2) { final SelectionVector2 sv2 = incoming.getSelectionVector2(); for (int i = 0; i < recordsConsumedCurrentBatch; ++i) { final int svIndex = sv2.getIndex(i); // TODO : Implement CopySafe between varchar and varbinary vectors. if (!input.isNull(svIndex)) { output.setNull(svIndex); } else { final int id = input.get(svIndex); final byte[] value = dictionary.get(id); output.setSafe(svIndex, value, 0, value.length); } } } else { for (int i = 0; i < recordsConsumedCurrentBatch; ++i) { if (input.isNull(i)) { output.setNull(i); } else { final int id = input.get(i); final byte[] value = dictionary.get(id); output.setSafe(i, value, 0, value.length); } } } }
private static VectorContainer buildBinaryGlobalDictionary(List<Dictionary> dictionaries, VectorContainer existingDict, ColumnDescriptor columnDescriptor, BufferAllocator bufferAllocator) { final Field field = new Field(SchemaPath.getCompoundPath(columnDescriptor.getPath()).getAsUnescapedPath(), true, new ArrowType.Binary(), null); final VectorContainer input = new VectorContainer(bufferAllocator); final VarBinaryVector binaryVector = input.addOrGet(field); binaryVector.allocateNew(); final SortedSet<Binary> values = new TreeSet<>(); for (Dictionary dictionary : dictionaries) { for (int i = 0; i <= dictionary.getMaxId(); ++i) { values.add(dictionary.decodeToBinary(i)); } } if (existingDict != null) { final VarBinaryVector existingDictValues = existingDict.getValueAccessorById(VarBinaryVector.class, 0).getValueVector(); for (int i = 0; i < existingDict.getRecordCount(); ++i) { values.add(Binary.fromConstantByteArray(existingDictValues.get(i))); } } final Iterator<Binary> iter = values.iterator(); int recordCount = 0; while (iter.hasNext()) { final byte[] data = iter.next().getBytes(); binaryVector.setSafe(recordCount++, data, 0, data.length); } binaryVector.setValueCount(recordCount); input.setRecordCount(recordCount); input.buildSchema(BatchSchema.SelectionVectorMode.NONE); return input; }
final VarBinaryVector binaryVector = vectorContainer.getValueAccessorById(VarBinaryVector.class, 0).getValueVector(); for (int i = 0; i < vectorContainer.getRecordCount(); ++i) { valueLookup.put(Binary.fromConstantByteArray(binaryVector.get(i)), i);
case NDArray: VarBinaryVector valueVector = (VarBinaryVector) from; byte[] bytes = valueVector.get(item); ByteBuffer direct = ByteBuffer.allocateDirect(bytes.length); direct.put(bytes);
assertEquals(4, dict.getRecordCount()); final VarBinaryVector dictValues = dict.getValueAccessorById(VarBinaryVector.class, 0).getValueVector(); assertEquals("cell", new String(dictValues.get(0), UTF8)); assertEquals("landline", new String(dictValues.get(1), UTF8)); assertEquals("mobile", new String(dictValues.get(2), UTF8)); assertEquals("work", new String(dictValues.get(3), UTF8)); assertEquals(5, dict.getRecordCount()); final VarBinaryVector dictValues = dict.getValueAccessorById(VarBinaryVector.class, 0).getValueVector(); assertEquals("cell", new String(dictValues.get(0), UTF8)); assertEquals("home", new String(dictValues.get(1), UTF8)); assertEquals("landline", new String(dictValues.get(2), UTF8)); assertEquals("mobile", new String(dictValues.get(3), UTF8)); assertEquals("work", new String(dictValues.get(4), UTF8));
VarBinaryVector valueVectors = (VarBinaryVector) arrowWritableRecordBatch.getList().get(0); for(int i = 0; i < rows; i++) { byte[] bytes = valueVectors.get(i); ByteBuffer direct = ByteBuffer.allocateDirect(bytes.length); direct.put(bytes);
((NullableVarBinaryHolder)holder).isSet = ((VarBinaryVector) vector).isSet(index); if (((NullableVarBinaryHolder)holder).isSet == 1) { ((VarBinaryVector) vector).get(index, (NullableVarBinaryHolder)holder);