コード例 #1
0
ファイル: TestRowOperators.java プロジェクト: XLabWang/presto
  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));
  }