use of com.facebook.presto.spi.block.ArrayBlockBuilder 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();
}
use of com.facebook.presto.spi.block.ArrayBlockBuilder in project presto by prestodb.
the class TestArrayBlock method createBlockBuilderWithValues.
private static BlockBuilder createBlockBuilderWithValues(Slice[][] expectedValues) {
BlockBuilder blockBuilder = new ArrayBlockBuilder(VARCHAR, new BlockBuilderStatus(), 100, 100);
for (Slice[] expectedValue : expectedValues) {
if (expectedValue == null) {
blockBuilder.appendNull();
} else {
BlockBuilder elementBlockBuilder = VARCHAR.createBlockBuilder(new BlockBuilderStatus(), expectedValue.length);
for (Slice v : expectedValue) {
VARCHAR.writeSlice(elementBlockBuilder, v);
}
blockBuilder.writeObject(elementBlockBuilder.build()).closeEntry();
}
}
return blockBuilder;
}
use of com.facebook.presto.spi.block.ArrayBlockBuilder in project presto by prestodb.
the class TestArrayBlock method createBlockBuilderWithValues.
private static BlockBuilder createBlockBuilderWithValues(long[][][] expectedValues) {
BlockBuilder blockBuilder = new ArrayBlockBuilder(new ArrayBlockBuilder(BIGINT, new BlockBuilderStatus(), 100, 100), new BlockBuilderStatus(), 100);
for (long[][] expectedValue : expectedValues) {
if (expectedValue == null) {
blockBuilder.appendNull();
} else {
BlockBuilder intermediateBlockBuilder = new ArrayBlockBuilder(BIGINT, new BlockBuilderStatus(), 100, 100);
for (int j = 0; j < expectedValue.length; j++) {
if (expectedValue[j] == null) {
intermediateBlockBuilder.appendNull();
} else {
BlockBuilder innerMostBlockBuilder = BIGINT.createBlockBuilder(new BlockBuilderStatus(), expectedValue.length);
for (long v : expectedValue[j]) {
BIGINT.writeLong(innerMostBlockBuilder, v);
}
intermediateBlockBuilder.writeObject(innerMostBlockBuilder.build()).closeEntry();
}
}
blockBuilder.writeObject(intermediateBlockBuilder.build()).closeEntry();
}
}
return blockBuilder;
}
use of com.facebook.presto.spi.block.ArrayBlockBuilder 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);
}
use of com.facebook.presto.spi.block.ArrayBlockBuilder in project presto by prestodb.
the class TestArrayBlock method createBlockBuilderWithValues.
private static BlockBuilder createBlockBuilderWithValues(long[][] expectedValues) {
BlockBuilder blockBuilder = new ArrayBlockBuilder(BIGINT, new BlockBuilderStatus(), 100, 100);
for (long[] expectedValue : expectedValues) {
if (expectedValue == null) {
blockBuilder.appendNull();
} else {
BlockBuilder elementBlockBuilder = BIGINT.createBlockBuilder(new BlockBuilderStatus(), expectedValue.length);
for (long v : expectedValue) {
BIGINT.writeLong(elementBlockBuilder, v);
}
blockBuilder.writeObject(elementBlockBuilder).closeEntry();
}
}
return blockBuilder;
}
Aggregations