FunctionListBuilder builder = new FunctionListBuilder() .window(RowNumberFunction.class) .window(RankFunction.class) .window(DenseRankFunction.class) .window(PercentRankFunction.class) .window(CumulativeDistributionFunction.class) .window(NTileFunction.class) .window(FirstValueFunction.class) .window(LastValueFunction.class) .window(NthValueFunction.class) .window(LagFunction.class) .window(LeadFunction.class) .aggregate(ApproximateCountDistinctAggregation.class) .aggregate(DefaultApproximateCountDistinctAggregation.class) .aggregate(SumDataSizeForStats.class) .aggregate(MaxDataSizeForStats.class) .aggregates(CountAggregation.class) .aggregates(VarianceAggregation.class) .aggregates(CentralMomentsAggregation.class) .aggregates(ApproximateLongPercentileAggregations.class) .aggregates(ApproximateLongPercentileArrayAggregations.class) .aggregates(ApproximateDoublePercentileAggregations.class) .aggregates(ApproximateDoublePercentileArrayAggregations.class) .aggregates(ApproximateRealPercentileAggregations.class) .aggregates(ApproximateRealPercentileArrayAggregations.class) .aggregates(CountIfAggregation.class) .aggregates(BooleanAndAggregation.class) .aggregates(BooleanOrAggregation.class) .aggregates(DoubleSumAggregation.class)
private static void extractScalars(Class<?> clazz) { new FunctionListBuilder().scalars(clazz); } }
private static void extractParametricScalar(Class<?> clazz) { new FunctionListBuilder().scalar(clazz); }
public FunctionAssertions addScalarFunctions(Class<?> clazz) { metadata.addFunctions(new FunctionListBuilder().scalars(clazz).getFunctions()); return this; }
protected void registerParametricScalar(Class<?> clazz) { Metadata metadata = functionAssertions.getMetadata(); List<SqlFunction> functions = new FunctionListBuilder() .scalar(clazz) .getFunctions(); metadata.getFunctionRegistry().addFunctions(functions); }
@BeforeClass public void setup() { functionRegistry.addFunctions(new FunctionListBuilder().aggregates(CountNull.class).getFunctions()); }
@Setup public void setup() { MetadataManager metadata = MetadataManager.createTestMetadataManager(); metadata.addFunctions(new FunctionListBuilder().function(EXACT_ARRAY_FILTER_FUNCTION).getFunctions()); ExpressionCompiler compiler = new ExpressionCompiler(metadata, new PageFunctionCompiler(metadata, 0)); ImmutableList.Builder<RowExpression> projectionsBuilder = ImmutableList.builder(); Block[] blocks = new Block[TYPES.size()]; for (int i = 0; i < TYPES.size(); i++) { Type elementType = TYPES.get(i); ArrayType arrayType = new ArrayType(elementType); Signature signature = new Signature(name, FunctionKind.SCALAR, arrayType.getTypeSignature(), arrayType.getTypeSignature(), parseTypeSignature("function(bigint,boolean)")); Signature greaterThan = new Signature("$operator$" + GREATER_THAN.name(), FunctionKind.SCALAR, BOOLEAN.getTypeSignature(), BIGINT.getTypeSignature(), BIGINT.getTypeSignature()); projectionsBuilder.add(new CallExpression(signature, arrayType, ImmutableList.of( field(0, arrayType), new LambdaDefinitionExpression( ImmutableList.of(BIGINT), ImmutableList.of("x"), new CallExpression(greaterThan, BOOLEAN, ImmutableList.of(new VariableReferenceExpression("x", BIGINT), constant(0L, BIGINT))))))); blocks[i] = createChannel(POSITIONS, ARRAY_SIZE, arrayType); } ImmutableList<RowExpression> projections = projectionsBuilder.build(); pageProcessor = compiler.compilePageProcessor(Optional.empty(), projections).get(); page = new Page(blocks); }
public FunctionListBuilder functions(SqlFunction... sqlFunctions) { for (SqlFunction sqlFunction : sqlFunctions) { function(sqlFunction); } return this; }
public FunctionAssertions addScalarFunctions(Class<?> clazz) { metadata.addFunctions(new FunctionListBuilder().scalars(clazz).getFunctions()); return this; }
protected void registerParametricScalar(Class<?> clazz) { Metadata metadata = functionAssertions.getMetadata(); List<SqlFunction> functions = new FunctionListBuilder() .scalar(clazz) .getFunctions(); metadata.getFunctionRegistry().addFunctions(functions); }
@BeforeClass public void setup() { functionRegistry.addFunctions(new FunctionListBuilder().aggregates(CountNull.class).getFunctions()); }
@Setup public void setup() { MetadataManager metadata = MetadataManager.createTestMetadataManager(); metadata.addFunctions(new FunctionListBuilder().function(EXACT_ARRAY_FILTER_FUNCTION).getFunctions()); ExpressionCompiler compiler = new ExpressionCompiler(metadata, new PageFunctionCompiler(metadata, 0)); ImmutableList.Builder<RowExpression> projectionsBuilder = ImmutableList.builder(); Block[] blocks = new Block[TYPES.size()]; for (int i = 0; i < TYPES.size(); i++) { Type elementType = TYPES.get(i); ArrayType arrayType = new ArrayType(elementType); Signature signature = new Signature(name, FunctionKind.SCALAR, arrayType.getTypeSignature(), arrayType.getTypeSignature(), parseTypeSignature("function(bigint,boolean)")); Signature greaterThan = new Signature("$operator$" + GREATER_THAN.name(), FunctionKind.SCALAR, BOOLEAN.getTypeSignature(), BIGINT.getTypeSignature(), BIGINT.getTypeSignature()); projectionsBuilder.add(new CallExpression(signature, arrayType, ImmutableList.of( field(0, arrayType), new LambdaDefinitionExpression( ImmutableList.of(BIGINT), ImmutableList.of("x"), new CallExpression(greaterThan, BOOLEAN, ImmutableList.of(new VariableReferenceExpression("x", BIGINT), constant(0L, BIGINT))))))); blocks[i] = createChannel(POSITIONS, ARRAY_SIZE, arrayType); } ImmutableList<RowExpression> projections = projectionsBuilder.build(); pageProcessor = compiler.compilePageProcessor(Optional.empty(), projections).get(); page = new Page(blocks); }
private static void extractScalars(Class<?> clazz) { new FunctionListBuilder().scalars(clazz); } }
private static void extractParametricScalar(Class<?> clazz) { new FunctionListBuilder().scalar(clazz); }
public FunctionListBuilder functions(SqlFunction... sqlFunctions) { for (SqlFunction sqlFunction : sqlFunctions) { function(sqlFunction); } return this; }
FunctionListBuilder builder = new FunctionListBuilder() .window(RowNumberFunction.class) .window(RankFunction.class) .window(DenseRankFunction.class) .window(PercentRankFunction.class) .window(CumulativeDistributionFunction.class) .window(NTileFunction.class) .window(FirstValueFunction.class) .window(LastValueFunction.class) .window(NthValueFunction.class) .window(LagFunction.class) .window(LeadFunction.class) .aggregate(ApproximateCountDistinctAggregation.class) .aggregate(DefaultApproximateCountDistinctAggregation.class) .aggregate(SumDataSizeForStats.class) .aggregate(MaxDataSizeForStats.class) .aggregates(CountAggregation.class) .aggregates(VarianceAggregation.class) .aggregates(CentralMomentsAggregation.class) .aggregates(ApproximateLongPercentileAggregations.class) .aggregates(ApproximateLongPercentileArrayAggregations.class) .aggregates(ApproximateDoublePercentileAggregations.class) .aggregates(ApproximateDoublePercentileArrayAggregations.class) .aggregates(ApproximateRealPercentileAggregations.class) .aggregates(ApproximateRealPercentileArrayAggregations.class) .aggregates(CountIfAggregation.class) .aggregates(BooleanAndAggregation.class) .aggregates(BooleanOrAggregation.class) .aggregates(DoubleSumAggregation.class)
protected void registerScalar(Class<?> clazz) { Metadata metadata = functionAssertions.getMetadata(); List<SqlFunction> functions = new FunctionListBuilder() .scalars(clazz) .getFunctions(); metadata.getFunctionRegistry().addFunctions(functions); }
metadata.addFunctions(new FunctionListBuilder().scalar(BenchmarkOldArrayHash.class).getFunctions()); metadata.addFunctions(new FunctionListBuilder().scalar(BenchmarkAnotherArrayHash.class).getFunctions()); ExpressionCompiler compiler = new ExpressionCompiler(metadata, new PageFunctionCompiler(metadata, 0)); ImmutableList.Builder<RowExpression> projectionsBuilder = ImmutableList.builder();
private static void extractScalars(Class<?> clazz) { new FunctionListBuilder().scalars(clazz); } }
protected void registerScalar(Class<?> clazz) { Metadata metadata = functionAssertions.getMetadata(); List<SqlFunction> functions = new FunctionListBuilder() .scalars(clazz) .getFunctions(); metadata.getFunctionRegistry().addFunctions(functions); }