Search in sources :

Example 86 with BlockBuilderStatus

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

the class TestRealType method createTestBlock.

public static Block createTestBlock() {
    BlockBuilder blockBuilder = REAL.createBlockBuilder(new BlockBuilderStatus(), 30);
    REAL.writeLong(blockBuilder, floatToRawIntBits(11.11F));
    REAL.writeLong(blockBuilder, floatToRawIntBits(11.11F));
    REAL.writeLong(blockBuilder, floatToRawIntBits(11.11F));
    REAL.writeLong(blockBuilder, floatToRawIntBits(22.22F));
    REAL.writeLong(blockBuilder, floatToRawIntBits(22.22F));
    REAL.writeLong(blockBuilder, floatToRawIntBits(22.22F));
    REAL.writeLong(blockBuilder, floatToRawIntBits(22.22F));
    REAL.writeLong(blockBuilder, floatToRawIntBits(22.22F));
    REAL.writeLong(blockBuilder, floatToRawIntBits(33.33F));
    REAL.writeLong(blockBuilder, floatToRawIntBits(33.33F));
    REAL.writeLong(blockBuilder, floatToRawIntBits(44.44F));
    return blockBuilder.build();
}
Also used : BlockBuilder(com.facebook.presto.spi.block.BlockBuilder) BlockBuilderStatus(com.facebook.presto.spi.block.BlockBuilderStatus)

Example 87 with BlockBuilderStatus

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

the class TestRowOperators method assertRowHashOperator.

private void assertRowHashOperator(String inputString, List<Type> types, List<Object> elements) {
    checkArgument(types.size() == elements.size(), "types and elements must have the same size");
    RowType rowType = new RowType(types, Optional.empty());
    BlockBuilder rowArrayBuilder = rowType.createBlockBuilder(new BlockBuilderStatus(), 1);
    BlockBuilder rowBuilder = new InterleavedBlockBuilder(types, new BlockBuilderStatus(), types.size());
    for (int i = 0; i < types.size(); i++) {
        appendToBlockBuilder(types.get(i), elements.get(i), rowBuilder);
    }
    rowType.writeObject(rowArrayBuilder, rowBuilder.build());
    assertOperator(HASH_CODE, inputString, BIGINT, rowType.hash(rowArrayBuilder.build(), 0));
}
Also used : InterleavedBlockBuilder(com.facebook.presto.spi.block.InterleavedBlockBuilder) TypeJsonUtils.appendToBlockBuilder(com.facebook.presto.type.TypeJsonUtils.appendToBlockBuilder) BlockBuilder(com.facebook.presto.spi.block.BlockBuilder) InterleavedBlockBuilder(com.facebook.presto.spi.block.InterleavedBlockBuilder) BlockBuilderStatus(com.facebook.presto.spi.block.BlockBuilderStatus)

Example 88 with BlockBuilderStatus

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

the class TestShortDecimalType method createTestBlock.

public static Block createTestBlock() {
    BlockBuilder blockBuilder = SHORT_DECIMAL_TYPE.createBlockBuilder(new BlockBuilderStatus(), 15);
    SHORT_DECIMAL_TYPE.writeLong(blockBuilder, -1234);
    SHORT_DECIMAL_TYPE.writeLong(blockBuilder, -1234);
    SHORT_DECIMAL_TYPE.writeLong(blockBuilder, -1234);
    SHORT_DECIMAL_TYPE.writeLong(blockBuilder, 2321);
    SHORT_DECIMAL_TYPE.writeLong(blockBuilder, 2321);
    SHORT_DECIMAL_TYPE.writeLong(blockBuilder, 2321);
    SHORT_DECIMAL_TYPE.writeLong(blockBuilder, 2321);
    SHORT_DECIMAL_TYPE.writeLong(blockBuilder, 2321);
    SHORT_DECIMAL_TYPE.writeLong(blockBuilder, 3321);
    SHORT_DECIMAL_TYPE.writeLong(blockBuilder, 3321);
    SHORT_DECIMAL_TYPE.writeLong(blockBuilder, 4321);
    return blockBuilder.build();
}
Also used : BlockBuilder(com.facebook.presto.spi.block.BlockBuilder) BlockBuilderStatus(com.facebook.presto.spi.block.BlockBuilderStatus)

Example 89 with BlockBuilderStatus

use of com.facebook.presto.spi.block.BlockBuilderStatus 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 90 with BlockBuilderStatus

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

the class TestSmallintArrayType method createTestBlock.

public static Block createTestBlock(Type arrayType) {
    BlockBuilder blockBuilder = arrayType.createBlockBuilder(new BlockBuilderStatus(), 4);
    arrayType.writeObject(blockBuilder, arrayBlockOf(SMALLINT, 1, 2));
    arrayType.writeObject(blockBuilder, arrayBlockOf(SMALLINT, 1, 2, 3));
    arrayType.writeObject(blockBuilder, arrayBlockOf(SMALLINT, 1, 2, 3));
    arrayType.writeObject(blockBuilder, arrayBlockOf(SMALLINT, 100, 200, 300));
    return blockBuilder.build();
}
Also used : BlockBuilder(com.facebook.presto.spi.block.BlockBuilder) BlockBuilderStatus(com.facebook.presto.spi.block.BlockBuilderStatus)

Aggregations

BlockBuilderStatus (com.facebook.presto.spi.block.BlockBuilderStatus)227 BlockBuilder (com.facebook.presto.spi.block.BlockBuilder)210 Block (com.facebook.presto.spi.block.Block)55 Slice (io.airlift.slice.Slice)43 InterleavedBlockBuilder (com.facebook.presto.spi.block.InterleavedBlockBuilder)37 Test (org.testng.annotations.Test)35 Type (com.facebook.presto.spi.type.Type)24 SqlType (com.facebook.presto.spi.function.SqlType)20 UsedByGeneratedCode (com.facebook.presto.annotation.UsedByGeneratedCode)15 ArrayType (com.facebook.presto.type.ArrayType)14 Page (com.facebook.presto.spi.Page)12 TypeJsonUtils.appendToBlockBuilder (com.facebook.presto.type.TypeJsonUtils.appendToBlockBuilder)12 TypeParameter (com.facebook.presto.spi.function.TypeParameter)11 RowType (com.facebook.presto.type.RowType)11 OrcCorruptionException (com.facebook.presto.orc.OrcCorruptionException)10 RunLengthEncodedBlock (com.facebook.presto.spi.block.RunLengthEncodedBlock)10 MapType (com.facebook.presto.type.MapType)10 PrestoException (com.facebook.presto.spi.PrestoException)9 BlockAssertions.createLongsBlock (com.facebook.presto.block.BlockAssertions.createLongsBlock)8 DecimalType (com.facebook.presto.spi.type.DecimalType)8