public static class OperatorConversions.OperatorBuilder extends Object
| Modifier and Type | Method and Description |
|---|---|
org.apache.calcite.sql.SqlFunction |
build()
Creates a
SqlFunction from this builder. |
OperatorConversions.OperatorBuilder |
functionCategory(org.apache.calcite.sql.SqlFunctionCategory functionCategory)
Sets the
SqlKind of the operator. |
OperatorConversions.OperatorBuilder |
literalOperands(int... literalOperands)
Signifies that the operands at positions given by
literalOperands must be literals. |
OperatorConversions.OperatorBuilder |
operandTypeChecker(org.apache.calcite.sql.type.SqlOperandTypeChecker operandTypeChecker)
Provides customized operand type checking logic.
|
OperatorConversions.OperatorBuilder |
operandTypeInference(org.apache.calcite.sql.type.SqlOperandTypeInference operandTypeInference) |
OperatorConversions.OperatorBuilder |
operandTypes(org.apache.calcite.sql.type.SqlTypeFamily... operandTypes)
Signifies that a function accepts operands of type family given by .
|
OperatorConversions.OperatorBuilder |
requiredOperands(int requiredOperands)
Signifies that the first
requiredOperands operands are required, and all later operands are optional. |
OperatorConversions.OperatorBuilder |
returnTypeArrayWithNullableElements(org.apache.calcite.sql.type.SqlTypeName elementTypeName)
Sets the return type of the operator to an array type with elements of "typeName", marked as nullable.
|
OperatorConversions.OperatorBuilder |
returnTypeCascadeNullable(org.apache.calcite.sql.type.SqlTypeName typeName)
Sets the return type of the operator to "typeName", marked as nullable if any of its operands are nullable.
|
OperatorConversions.OperatorBuilder |
returnTypeInference(org.apache.calcite.sql.type.SqlReturnTypeInference returnTypeInference)
Provides customized return type inference logic.
|
OperatorConversions.OperatorBuilder |
returnTypeNonNull(org.apache.calcite.sql.type.SqlTypeName typeName)
Sets the return type of the operator to "typeName", marked as non-nullable.
|
OperatorConversions.OperatorBuilder |
returnTypeNullable(org.apache.calcite.sql.type.SqlTypeName typeName)
Sets the return type of the operator to "typeName", marked as nullable.
|
OperatorConversions.OperatorBuilder |
returnTypeNullableArrayWithNullableElements(org.apache.calcite.sql.type.SqlTypeName elementTypeName)
Sets the return type of the operator to an array type with elements of "typeName", marked as nullable.
|
public OperatorConversions.OperatorBuilder returnTypeNonNull(org.apache.calcite.sql.type.SqlTypeName typeName)
returnTypeNonNull(org.apache.calcite.sql.type.SqlTypeName), returnTypeNullable(org.apache.calcite.sql.type.SqlTypeName), returnTypeCascadeNullable(SqlTypeName)
returnTypeNullableArrayWithNullableElements(org.apache.calcite.sql.type.SqlTypeName), or returnTypeInference(SqlReturnTypeInference)
must be used before calling build(). These methods cannot be mixed; you must call exactly one.public OperatorConversions.OperatorBuilder returnTypeNullable(org.apache.calcite.sql.type.SqlTypeName typeName)
returnTypeNonNull(org.apache.calcite.sql.type.SqlTypeName), returnTypeNullable(org.apache.calcite.sql.type.SqlTypeName), returnTypeCascadeNullable(SqlTypeName)
returnTypeNullableArrayWithNullableElements(org.apache.calcite.sql.type.SqlTypeName), or returnTypeInference(SqlReturnTypeInference)
must be used before calling build(). These methods cannot be mixed; you must call exactly one.public OperatorConversions.OperatorBuilder returnTypeCascadeNullable(org.apache.calcite.sql.type.SqlTypeName typeName)
returnTypeNonNull(org.apache.calcite.sql.type.SqlTypeName), returnTypeNullable(org.apache.calcite.sql.type.SqlTypeName), returnTypeCascadeNullable(SqlTypeName)
returnTypeNullableArrayWithNullableElements(org.apache.calcite.sql.type.SqlTypeName), or returnTypeInference(SqlReturnTypeInference)
must be used before calling build(). These methods cannot be mixed; you must call exactly one.public OperatorConversions.OperatorBuilder returnTypeArrayWithNullableElements(org.apache.calcite.sql.type.SqlTypeName elementTypeName)
returnTypeNonNull(org.apache.calcite.sql.type.SqlTypeName), returnTypeNullable(org.apache.calcite.sql.type.SqlTypeName), returnTypeCascadeNullable(SqlTypeName)
returnTypeArrayWithNullableElements(org.apache.calcite.sql.type.SqlTypeName), or returnTypeInference(SqlReturnTypeInference) must be
used before calling build(). These methods cannot be mixed; you must call exactly one.public OperatorConversions.OperatorBuilder returnTypeNullableArrayWithNullableElements(org.apache.calcite.sql.type.SqlTypeName elementTypeName)
returnTypeNonNull(org.apache.calcite.sql.type.SqlTypeName), returnTypeNullable(org.apache.calcite.sql.type.SqlTypeName), returnTypeCascadeNullable(SqlTypeName)
returnTypeArrayWithNullableElements(org.apache.calcite.sql.type.SqlTypeName), or returnTypeInference(SqlReturnTypeInference) must be
used before calling build(). These methods cannot be mixed; you must call exactly one.public OperatorConversions.OperatorBuilder returnTypeInference(org.apache.calcite.sql.type.SqlReturnTypeInference returnTypeInference)
returnTypeNonNull(org.apache.calcite.sql.type.SqlTypeName), returnTypeNullable(org.apache.calcite.sql.type.SqlTypeName), returnTypeCascadeNullable(SqlTypeName)
returnTypeNullableArrayWithNullableElements(org.apache.calcite.sql.type.SqlTypeName), or returnTypeInference(SqlReturnTypeInference)
must be used before calling build(). These methods cannot be mixed; you must call exactly one.public OperatorConversions.OperatorBuilder functionCategory(org.apache.calcite.sql.SqlFunctionCategory functionCategory)
SqlKind of the operator.
The default, if not provided, is SqlFunctionCategory.USER_DEFINED_FUNCTION.public OperatorConversions.OperatorBuilder operandTypeChecker(org.apache.calcite.sql.type.SqlOperandTypeChecker operandTypeChecker)
operandTypes(SqlTypeFamily...) or operandTypeChecker(SqlOperandTypeChecker) must be used
before calling build(). These methods cannot be mixed; you must call exactly one.public OperatorConversions.OperatorBuilder operandTypes(org.apache.calcite.sql.type.SqlTypeFamily... operandTypes)
requiredOperands(int) and literalOperands(int...) in order
to further refine operand checking logic.
For deeper control, use operandTypeChecker(SqlOperandTypeChecker) instead.public OperatorConversions.OperatorBuilder requiredOperands(int requiredOperands)
requiredOperands operands are required, and all later operands are optional.
Required operands are not allowed to be null. Optional operands can either be skipped or explicitly provided as
literal NULLs. For example, if requiredOperands == 1, then F(x, NULL) and F(x) are both
accepted, and x must not be null.
Must be used in conjunction with operandTypes(SqlTypeFamily...); this method is not compatible with
operandTypeChecker(SqlOperandTypeChecker).public OperatorConversions.OperatorBuilder literalOperands(int... literalOperands)
literalOperands must be literals.
Must be used in conjunction with operandTypes(SqlTypeFamily...); this method is not compatible with
operandTypeChecker(SqlOperandTypeChecker).public OperatorConversions.OperatorBuilder operandTypeInference(org.apache.calcite.sql.type.SqlOperandTypeInference operandTypeInference)
public org.apache.calcite.sql.SqlFunction build()
SqlFunction from this builder.Copyright © 2011–2022 The Apache Software Foundation. All rights reserved.