private TestVarArgsSum() { super(new Signature( "var_args_sum", FunctionKind.SCALAR, ImmutableList.of(), ImmutableList.of(), INTEGER.getTypeSignature(), ImmutableList.of(INTEGER.getTypeSignature()), true)); }
private TestVarArgsSum() { super(new Signature( "var_args_sum", FunctionKind.SCALAR, ImmutableList.of(), ImmutableList.of(), INTEGER.getTypeSignature(), ImmutableList.of(INTEGER.getTypeSignature()), true)); }
@Test public void testInteger() { List<RowExpression> values = new ArrayList<>(); values.add(constant(Integer.MIN_VALUE, INTEGER)); values.add(constant(Integer.MAX_VALUE, INTEGER)); values.add(constant(3, INTEGER)); assertEquals(checkSwitchGenerationCase(INTEGER, values), DIRECT_SWITCH); values.add(constant(null, INTEGER)); assertEquals(checkSwitchGenerationCase(INTEGER, values), DIRECT_SWITCH); values.add(new CallExpression( new Signature( CAST, SCALAR, INTEGER.getTypeSignature(), DOUBLE.getTypeSignature()), INTEGER, Collections.singletonList(constant(12345678901234.0, DOUBLE)))); assertEquals(checkSwitchGenerationCase(INTEGER, values), DIRECT_SWITCH); for (int i = 6; i <= 32; ++i) { values.add(constant(i, INTEGER)); } assertEquals(checkSwitchGenerationCase(INTEGER, values), DIRECT_SWITCH); values.add(constant(33, INTEGER)); assertEquals(checkSwitchGenerationCase(INTEGER, values), SET_CONTAINS); }
@Test public void testInteger() { List<RowExpression> values = new ArrayList<>(); values.add(constant(Integer.MIN_VALUE, INTEGER)); values.add(constant(Integer.MAX_VALUE, INTEGER)); values.add(constant(3, INTEGER)); assertEquals(checkSwitchGenerationCase(INTEGER, values), DIRECT_SWITCH); values.add(constant(null, INTEGER)); assertEquals(checkSwitchGenerationCase(INTEGER, values), DIRECT_SWITCH); values.add(new CallExpression( new Signature( CAST, SCALAR, INTEGER.getTypeSignature(), DOUBLE.getTypeSignature()), INTEGER, Collections.singletonList(constant(12345678901234.0, DOUBLE)))); assertEquals(checkSwitchGenerationCase(INTEGER, values), DIRECT_SWITCH); for (int i = 6; i <= 32; ++i) { values.add(constant(i, INTEGER)); } assertEquals(checkSwitchGenerationCase(INTEGER, values), DIRECT_SWITCH); values.add(constant(33, INTEGER)); assertEquals(checkSwitchGenerationCase(INTEGER, values), SET_CONTAINS); }
@Override public InternalAggregationFunction getAggregationFunction() { return metadata.getFunctionRegistry().getAggregateFunctionImplementation( new Signature("approx_distinct", AGGREGATE, BIGINT.getTypeSignature(), INTEGER.getTypeSignature(), DOUBLE.getTypeSignature())); }
@Override public InternalAggregationFunction getAggregationFunction() { return metadata.getFunctionRegistry().getAggregateFunctionImplementation( new Signature("approx_distinct", AGGREGATE, BIGINT.getTypeSignature(), INTEGER.getTypeSignature(), DOUBLE.getTypeSignature())); }