@Override void readFirstField(Block block, int position, SliceAndBlockPositionValueState state) { state.setFirst(firstType.getSlice(block, position)); }
@Override void readFirstField(Block block, int position, SliceAndBlockPositionValueState state) { state.setFirst(firstType.getSlice(block, position)); }
@Override public Slice getSlice(int field) { return types.get(field).getSlice(page.getBlock(field), position); }
@Override public Slice getSlice(int field) { return types.get(field).getSlice(page.getBlock(field), position); }
@Override public Slice getSlice(int field) { checkState(position >= 0, "Not yet advanced"); checkState(position < page.getPositionCount(), "Already finished"); Type type = types.get(field); return type.getSlice(page.getBlock(field), position); }
@Override public Slice getSlice(int field) { checkState(position >= 0, "Not yet advanced"); checkState(position < page.getPositionCount(), "Already finished"); Type type = types.get(field); return type.getSlice(page.getBlock(field), position); }
@Override public void encodeValueInto(int depth, Block block, int position, SliceOutput output) { Slice slice = type.getSlice(block, position); if (escapeByte != null && slice.indexOfByte(escapeByte) < 0) { throw new IllegalArgumentException("escape not implemented"); } output.writeBytes(slice); }
@Override public void setField(Block block, int position) { value.set(type.getSlice(block, position).getBytes()); rowInspector.setStructFieldData(row, field, value); } }
@UsedByGeneratedCode public static Slice sliceSubscript(Type elementType, Block array, long index) { checkIndex(array, index); int position = toIntExact(index - 1); if (array.isNull(position)) { return null; } return elementType.getSlice(array, position); }
@UsedByGeneratedCode public static Slice sliceSubscript(Type elementType, Block array, long index) { checkIndex(array, index); int position = toIntExact(index - 1); if (array.isNull(position)) { return null; } return elementType.getSlice(array, position); }
@Override public void encodeValueInto(int depth, Block block, int position, SliceOutput output) { Slice slice = type.getSlice(block, position); byte[] data = slice.getBytes(); slice = Slices.wrappedBuffer(base64Encoder.encode(data)); output.writeBytes(slice); }
public Slice getSlice(int channel, int position) { long pageAddress = valueAddresses.getLong(position); Block block = channels[channel].get(decodeSliceIndex(pageAddress)); int blockPosition = decodePosition(pageAddress); return types.get(channel).getSlice(block, blockPosition); }
@Override default void addBlock(Type type, Block block) { for (int position = 0; position < block.getPositionCount(); position++) { if (!block.isNull(position)) { addValue(type.getSlice(block, position)); } } }
@Override public void encodeValueInto(Block block, int position, SliceOutput output) { Slice slice = type.getSlice(block, position); // Note binary nested in complex structures do no use the empty marker. // Therefore, empty VARBINARY values are ok. writeVInt(output, slice.length()); output.writeBytes(slice); }
@Override public void encodeValueInto(Block block, int position, SliceOutput output) { Slice slice = type.getSlice(block, position); // Note strings nested in complex structures do no use the empty string marker writeVInt(output, slice.length()); output.writeBytes(slice); }
@InputFunction public static void input(Type type, QuantileDigestState state, Block value, int index) { merge(state, new QuantileDigest(type.getSlice(value, index))); }
@Override public void addBlock(Type type, Block block) { int scale = ((DecimalType) type).getScale(); for (int position = 0; position < block.getPositionCount(); position++) { if (!block.isNull(position)) { Slice value = type.getSlice(block, position); addValue(new BigDecimal(Decimals.decodeUnscaledValue(value), scale)); } } }
@Override public void addBlock(Type type, Block block) { int scale = ((DecimalType) type).getScale(); for (int position = 0; position < block.getPositionCount(); position++) { if (!block.isNull(position)) { Slice value = type.getSlice(block, position); addValue(new BigDecimal(Decimals.decodeUnscaledValue(value), scale)); } } }
@TypeParameter("E") @SqlType("E") public static Slice specializedSlice(@TypeParameter("E") Type type, @BlockPosition @SqlType(value = "E", nativeContainerType = Slice.class) Block block, @BlockIndex int position) { hitBlockPositionSlice.set(true); return type.getSlice(block, position); }
private static void assertLearnClassifer(Accumulator accumulator) { accumulator.addInput(getPage()); BlockBuilder finalOut = accumulator.getFinalType().createBlockBuilder(null, 1); accumulator.evaluateFinal(finalOut); Block block = finalOut.build(); Slice slice = accumulator.getFinalType().getSlice(block, 0); Model deserialized = ModelUtils.deserialize(slice); assertNotNull(deserialized, "deserialization failed"); assertTrue(deserialized instanceof Classifier, "deserialized model is not a classifier"); }