public static VarCharHolder getVarCharHolder(DrillBuf buf, String s){ VarCharHolder vch = new VarCharHolder(); byte[] b = s.getBytes(Charsets.UTF_8); vch.start = 0; vch.end = b.length; vch.buffer = buf.reallocIfNeeded(b.length); vch.buffer.setBytes(0, b); return vch; }
public void setSafe(int index, int start, int end, DrillBuf buffer) { final int len = end - start; final int outputStart = offsetVector.data.getInt(index * 4); while (data.capacity() < outputStart + len) { reAlloc(); } offsetVector.getMutator().setSafe(index + 1, outputStart + len); buffer.getBytes(start, data, outputStart, len); }
public void splitAndTransferTo(int startIndex, int length, Decimal28SparseVector target) { final int startPoint = startIndex * VALUE_WIDTH; final int sliceLength = length * VALUE_WIDTH; target.clear(); target.data = data.slice(startPoint, sliceLength).transferOwnership(target.allocator).buffer; target.data.writerIndex(sliceLength); }
@Override public void load(SerializedField metadata, DrillBuf buffer) { clear(); // the bits vector is the first child (the order in which the children are added in getMetadataBuilder is significant) final SerializedField bitsField = metadata.getChild(0); bits.load(bitsField, buffer); final int capacity = buffer.capacity(); final int bitsLength = bitsField.getBufferLength(); final SerializedField valuesField = metadata.getChild(1); values.load(valuesField, buffer.slice(bitsLength, capacity - bitsLength)); }
@Override public void load(SerializedField metadata, DrillBuf buffer) { // the bits vector is the first child (the order in which the children are added in getMetadataBuilder is significant) final SerializedField offsetField = metadata.getChild(0); offsetVector.load(offsetField, buffer); final int capacity = buffer.capacity(); final int offsetsLength = offsetField.getBufferLength(); data = buffer.slice(offsetsLength, capacity - offsetsLength); data.retain(); }
public void eval() { com.esri.core.geometry.ogc.OGCGeometry geom = com.esri.core.geometry.ogc.OGCGeometry .fromBinary(geomParam.buffer.nioBuffer(geomParam.start, geomParam.end - geomParam.start)); String json = geom.asJson(); byte[] jsonBytes = json.getBytes(); int outputSize = jsonBytes.length; buffer = out.buffer = buffer.reallocIfNeeded(outputSize); out.start = 0; out.end = outputSize; buffer.setBytes(0, jsonBytes); } }
/** * Set the element at the given index to the given value. Note that widths * smaller than 32 bits are handled by the DrillBuf interface. * * @param index * position of the bit to set * @param value * value to set */ public void set(int index, DrillBuf value) { data.setBytes(index * VALUE_WIDTH, value, 0, VALUE_WIDTH); }
@Override public void setup() { buffer = buffer.reallocIfNeeded(9); bytes = new byte[9]; br = new org.apache.hadoop.hbase.util.SimplePositionedMutableByteRange(); }
@Override public byte[] readByteArray(){ int length = holder.end - holder.start; byte[] value = new byte [length]; holder.buffer.getBytes(holder.start, value, 0, length); return value; }
public void setSafe(int index, ByteBuffer bytes, int start, int length) { assert index >= 0; final int currentOffset = offsetVector.getAccessor().get(index); while (data.capacity() < currentOffset + length) { reAlloc(); } offsetVector.getMutator().setSafe(index + 1, currentOffset + length); data.setBytes(currentOffset, bytes, start, length); }
protected void copyFrom(int fromIndex, int thisIndex, Var16CharVector from){ final UInt4Vector.Accessor fromOffsetVectorAccessor = from.offsetVector.getAccessor(); final int start = fromOffsetVectorAccessor.get(fromIndex); final int end = fromOffsetVectorAccessor.get(fromIndex + 1); final int len = end - start; final int outputStart = offsetVector.data.getInt(thisIndex * 4); from.data.getBytes(start, data, outputStart, len); offsetVector.data.setInt( (thisIndex+1) * 4, outputStart + len); }
@Override public void reset() { allocationSizeInBytes = INITIAL_BYTE_COUNT; allocationMonitor = 0; data.readerIndex(0); offsetVector.zeroVector(); super.reset(); }
public void transferTo(UInt4Vector target) { target.clear(); target.data = data.transferOwnership(target.allocator).buffer; target.data.writerIndex(data.writerIndex()); clear(); }
@Override public DrillBuf[] getBuffers(boolean clear) { final DrillBuf[] buffers = ObjectArrays.concat(bits.getBuffers(false), values.getBuffers(false), DrillBuf.class); if (clear) { for (final DrillBuf buffer:buffers) { buffer.retain(1); } clear(); } return buffers; }
@Override public void clear() { if (data != null) { data.release(); } data = allocator.getEmpty(); super.clear(); }
@Override public int getBufferSize() { if (getAccessor().getValueCount() == 0) { return 0; } return data.writerIndex(); }