@Override public long hash(Block block, int position) { boolean value = block.getByte(position, 0) != 0; return value ? 1231 : 1237; }
@Override public long getLong(Block block, int position) { return (long) block.getByte(position, 0); }
@Override public boolean getBoolean(Block block, int position) { return block.getByte(position, 0) != 0; }
@Override public byte getByte(int position, int offset) { return block.getByte(position, offset); }
@Override public int compareTo(Block leftBlock, int leftPosition, Block rightBlock, int rightPosition) { // WARNING: the correctness of InCodeGenerator is dependent on the implementation of this // function being the equivalence of internal long representation. byte leftValue = leftBlock.getByte(leftPosition, 0); byte rightValue = rightBlock.getByte(rightPosition, 0); return Byte.compare(leftValue, rightValue); }
@Override public long hash(Block block, int position) { return hash(block.getByte(position, 0)); }
@Override public Object getObjectValue(ConnectorSession session, Block block, int position) { if (block.isNull(position)) { return null; } return block.getByte(position, 0) != 0; }
@Override public byte getByte(int position, int offset) { checkReadablePosition(position); return value.getByte(0, offset); }
@Override public byte getByte(int position, int offset) { assureLoaded(); return block.getByte(position, offset); }
@Override public byte getByte(int position, int offset) { return dictionary.getByte(getId(position), offset); }
@Override public Object getObjectValue(ConnectorSession session, Block block, int position) { if (block.isNull(position)) { return null; } return block.getByte(position, 0); }
@Override public byte getByte(int position, int offset) { checkFieldIndex(position); return getRawFieldBlock(position).getByte(rowIndex, offset); }
@Override public byte getByte(int position, int offset) { checkReadablePosition(position); return getBlock().getByte(position + start, offset); }
@Override public void appendTo(Block block, int position, BlockBuilder blockBuilder) { if (block.isNull(position)) { blockBuilder.appendNull(); } else { blockBuilder.writeByte(block.getByte(position, 0)).closeEntry(); } }
@Override public void appendTo(Block block, int position, BlockBuilder blockBuilder) { if (block.isNull(position)) { blockBuilder.appendNull(); } else { blockBuilder.writeByte(block.getByte(position, 0)).closeEntry(); } }
@Override public void writeBlock(BlockEncodingSerde blockEncodingSerde, SliceOutput sliceOutput, Block block) { int positionCount = block.getPositionCount(); sliceOutput.appendInt(positionCount); encodeNullsAsBits(sliceOutput, block); for (int position = 0; position < positionCount; position++) { if (!block.isNull(position)) { sliceOutput.writeByte(block.getByte(position, 0)); } } }