private ArrayToArrayCast() { super(CAST, ImmutableList.of(typeVariable("F"), typeVariable("T")), ImmutableList.of(), parseTypeSignature("array(T)"), ImmutableList.of(parseTypeSignature("array(F)"))); }
private MapToJsonCast() { super(OperatorType.CAST, ImmutableList.of(typeVariable("K"), typeVariable("V")), ImmutableList.of(), parseTypeSignature(StandardTypes.JSON), ImmutableList.of(parseTypeSignature("map(K,V)"))); }
public TryCastFunction() { super(new Signature( "TRY_CAST", FunctionKind.SCALAR, ImmutableList.of(typeVariable("F"), typeVariable("T")), ImmutableList.of(), parseTypeSignature("T"), ImmutableList.of(parseTypeSignature("F")), false)); }
public MapSubscriptOperator(boolean legacyMissingKey) { super(SUBSCRIPT, ImmutableList.of(typeVariable("K"), typeVariable("V")), ImmutableList.of(), parseTypeSignature("V"), ImmutableList.of(parseTypeSignature("map(K,V)"), parseTypeSignature("K"))); this.legacyMissingKey = legacyMissingKey; }
private MapConcatFunction() { super(new Signature(FUNCTION_NAME, FunctionKind.SCALAR, ImmutableList.of(typeVariable("K"), typeVariable("V")), ImmutableList.of(), parseTypeSignature("map(K,V)"), ImmutableList.of(parseTypeSignature("map(K,V)")), true)); }
public TryCastFunction() { super(new Signature( "TRY_CAST", FunctionKind.SCALAR, ImmutableList.of(typeVariable("F"), typeVariable("T")), ImmutableList.of(), parseTypeSignature("T"), ImmutableList.of(parseTypeSignature("F")), false)); }
public ArrayAggregationFunction(ArrayAggGroupImplementation groupMode) { super(NAME, ImmutableList.of(typeVariable("T")), ImmutableList.of(), parseTypeSignature("array(T)"), ImmutableList.of(parseTypeSignature("T"))); this.groupMode = requireNonNull(groupMode, "groupMode is null"); }
public CountColumn() { super(NAME, ImmutableList.of(typeVariable("T")), ImmutableList.of(), parseTypeSignature(StandardTypes.BIGINT), ImmutableList.of(parseTypeSignature("T"))); }
protected IdentityCast() { super(OperatorType.CAST, ImmutableList.of(typeVariable("T")), ImmutableList.of(), parseTypeSignature("T"), ImmutableList.of(parseTypeSignature("T"))); }
private ArrayToJsonCast() { super(OperatorType.CAST, ImmutableList.of(typeVariable("T")), ImmutableList.of(), parseTypeSignature(StandardTypes.JSON), ImmutableList.of(parseTypeSignature("array(T)"))); }
private ArrayTransformFunction() { super(new Signature( "transform", FunctionKind.SCALAR, ImmutableList.of(typeVariable("T"), typeVariable("U")), ImmutableList.of(), parseTypeSignature("array(U)"), ImmutableList.of(parseTypeSignature("array(T)"), parseTypeSignature("function(T,U)")), false)); }
protected MapElementAtFunction() { super(new Signature( "element_at", FunctionKind.SCALAR, ImmutableList.of(typeVariable("K"), typeVariable("V")), ImmutableList.of(), parseTypeSignature("V"), ImmutableList.of(parseTypeSignature("map(K,V)"), parseTypeSignature("K")), false)); }
private JsonStringToArrayCast() { super(new Signature( JSON_STRING_TO_ARRAY_NAME, SCALAR, ImmutableList.of(typeVariable("T")), ImmutableList.of(), parseTypeSignature("array(T)"), ImmutableList.of(parseTypeSignature(StandardTypes.VARCHAR)), false)); }
public ReduceAggregationFunction() { super(NAME, ImmutableList.of(typeVariable("T"), typeVariable("S")), ImmutableList.of(), parseTypeSignature("S"), ImmutableList.of( parseTypeSignature("T"), parseTypeSignature("S"), parseTypeSignature("function(S,T,S)"), parseTypeSignature("function(S,S,S)"))); }
public ArrayToElementConcatFunction() { super(new Signature(FUNCTION_NAME, FunctionKind.SCALAR, ImmutableList.of(typeVariable("E")), ImmutableList.of(), parseTypeSignature("array(E)"), ImmutableList.of(parseTypeSignature("array(E)"), parseTypeSignature("E")), false)); }
public MapAggregationFunction() { super(NAME, ImmutableList.of(comparableTypeParameter("K"), typeVariable("V")), ImmutableList.of(), parseTypeSignature("map(K,V)"), ImmutableList.of(parseTypeSignature("K"), parseTypeSignature("V"))); }
protected AbstractMinMaxBy(boolean min) { super((min ? "min" : "max") + "_by", ImmutableList.of(orderableTypeParameter("K"), typeVariable("V")), ImmutableList.of(), parseTypeSignature("V"), ImmutableList.of(parseTypeSignature("V"), parseTypeSignature("K"))); this.min = min; }
private JsonStringToMapCast() { super(new Signature( JSON_STRING_TO_MAP_NAME, SCALAR, ImmutableList.of(comparableTypeParameter("K"), typeVariable("V")), ImmutableList.of(), parseTypeSignature("map(K,V)"), ImmutableList.of(parseTypeSignature(StandardTypes.VARCHAR)), false)); }
private ExactArrayFilterFunction() { super(new Signature( "exact_filter", FunctionKind.SCALAR, ImmutableList.of(typeVariable("T")), ImmutableList.of(), parseTypeSignature("array(T)"), ImmutableList.of(parseTypeSignature("array(T)"), parseTypeSignature("function(T,boolean)")), false)); }
@Test public void testAmbiguousCallWithNoCoercion() { assertThatResolveFunction() .among( functionSignature("decimal(p,s)", "decimal(p,s)"), functionSignature(ImmutableList.of("T", "T"), "boolean", ImmutableList.of(typeVariable("T")))) .forParameters("decimal(3,1)", "decimal(3,1)") .returns(functionSignature("decimal(3,1)", "decimal(3,1)")); }