Search in sources :

Example 1 with ArrayElementBlockWriter

use of com.facebook.presto.spi.block.ArrayElementBlockWriter in project presto by prestodb.

the class TestSimpleRowType method createTestBlock.

private static Block createTestBlock() {
    ArrayBlockBuilder blockBuilder = (ArrayBlockBuilder) TYPE.createBlockBuilder(new BlockBuilderStatus(), 3);
    ArrayElementBlockWriter arrayElementBlockWriter;
    arrayElementBlockWriter = blockBuilder.beginBlockEntry();
    BIGINT.writeLong(arrayElementBlockWriter, 1);
    VARCHAR.writeSlice(arrayElementBlockWriter, utf8Slice("cat"));
    blockBuilder.closeEntry();
    arrayElementBlockWriter = blockBuilder.beginBlockEntry();
    BIGINT.writeLong(arrayElementBlockWriter, 2);
    VARCHAR.writeSlice(arrayElementBlockWriter, utf8Slice("cats"));
    blockBuilder.closeEntry();
    arrayElementBlockWriter = blockBuilder.beginBlockEntry();
    BIGINT.writeLong(arrayElementBlockWriter, 3);
    VARCHAR.writeSlice(arrayElementBlockWriter, utf8Slice("dog"));
    blockBuilder.closeEntry();
    return blockBuilder.build();
}
Also used : ArrayBlockBuilder(com.facebook.presto.spi.block.ArrayBlockBuilder) ArrayElementBlockWriter(com.facebook.presto.spi.block.ArrayElementBlockWriter) BlockBuilderStatus(com.facebook.presto.spi.block.BlockBuilderStatus)

Example 2 with ArrayElementBlockWriter

use of com.facebook.presto.spi.block.ArrayElementBlockWriter in project presto by prestodb.

the class TestSimpleRowType method getGreaterValue.

@Override
protected Object getGreaterValue(Object value) {
    ArrayBlockBuilder blockBuilder = (ArrayBlockBuilder) TYPE.createBlockBuilder(new BlockBuilderStatus(), 1);
    ArrayElementBlockWriter arrayElementBlockWriter;
    Block block = (Block) value;
    arrayElementBlockWriter = blockBuilder.beginBlockEntry();
    BIGINT.writeLong(arrayElementBlockWriter, block.getSingleValueBlock(0).getLong(0, 0) + 1);
    VARCHAR.writeSlice(arrayElementBlockWriter, block.getSingleValueBlock(1).getSlice(0, 0, 1));
    blockBuilder.closeEntry();
    return TYPE.getObject(blockBuilder.build(), 0);
}
Also used : ArrayBlockBuilder(com.facebook.presto.spi.block.ArrayBlockBuilder) ArrayElementBlockWriter(com.facebook.presto.spi.block.ArrayElementBlockWriter) Block(com.facebook.presto.spi.block.Block) BlockBuilderStatus(com.facebook.presto.spi.block.BlockBuilderStatus)

Aggregations

ArrayBlockBuilder (com.facebook.presto.spi.block.ArrayBlockBuilder)2 ArrayElementBlockWriter (com.facebook.presto.spi.block.ArrayElementBlockWriter)2 BlockBuilderStatus (com.facebook.presto.spi.block.BlockBuilderStatus)2 Block (com.facebook.presto.spi.block.Block)1