Package org.apache.calcite.sql.validate
Class SqlUserDefinedTableFunction
java.lang.Object
org.apache.calcite.sql.SqlOperator
org.apache.calcite.sql.SqlFunction
org.apache.calcite.sql.validate.SqlUserDefinedFunction
org.apache.calcite.sql.validate.SqlUserDefinedTableFunction
- All Implemented Interfaces:
SqlTableFunction
User-defined table function.
Created by the validator, after resolving a function call to a function defined in a Calcite schema.
-
Field Summary
Fields inherited from class org.apache.calcite.sql.validate.SqlUserDefinedFunction
function
Fields inherited from class org.apache.calcite.sql.SqlOperator
kind, MDX_PRECEDENCE, NL
-
Constructor Summary
ConstructorDescriptionSqlUserDefinedTableFunction
(SqlIdentifier opName, SqlKind kind, SqlReturnTypeInference returnTypeInference, SqlOperandTypeInference operandTypeInference, @Nullable SqlOperandMetadata operandMetadata, TableFunction function) Creates a user-defined table function.SqlUserDefinedTableFunction
(SqlIdentifier opName, SqlReturnTypeInference returnTypeInference, SqlOperandTypeInference operandTypeInference, @Nullable SqlOperandTypeChecker operandTypeChecker, List<RelDataType> paramTypes, TableFunction function) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptiongetElementType
(SqlOperatorBinding callBinding) Returns the row type of the table yielded by this function when applied to given arguments.Returns function that implements given operator call.Returns the record type of the table yielded by this function when applied to given arguments.Methods inherited from class org.apache.calcite.sql.validate.SqlUserDefinedFunction
getOperandTypeChecker, getParamNames
Methods inherited from class org.apache.calcite.sql.SqlFunction
deriveType, getFunctionType, getNameAsId, getParamTypes, getSqlIdentifier, getSyntax, isQuantifierAllowed, unparse, validateCall, validateQuantifier
Methods inherited from class org.apache.calcite.sql.SqlOperator
acceptCall, acceptCall, adjustType, allowsFraming, argumentMustBeScalar, checkOperandCount, checkOperandTypes, constructArgNameList, constructArgTypeList, constructOperandList, createCall, createCall, createCall, createCall, createCall, createCall, createCall, deriveOperandType, equals, getAllowedSignatures, getAllowedSignatures, getKind, getLeftPrec, getMonotonicity, getMonotonicity, getName, getOperandCountRange, getOperandTypeInference, getReturnTypeInference, getRightPrec, getSignatureTemplate, getStrongPolicyInference, hashCode, inferReturnType, inferReturnType, isAggregator, isDeterministic, isDynamicFunction, isGroup, isGroupAuxiliary, isName, isSymmetrical, leftPrec, not, preValidateCall, requiresDecimalExpansion, requiresOrder, requiresOver, reverse, rewriteCall, rightPrec, toString, unparseListClause, unparseListClause, validateOperands, validRexOperands
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.calcite.sql.SqlTableFunction
tableCharacteristic
-
Constructor Details
-
SqlUserDefinedTableFunction
@Deprecated public SqlUserDefinedTableFunction(SqlIdentifier opName, SqlReturnTypeInference returnTypeInference, SqlOperandTypeInference operandTypeInference, @Nullable SqlOperandTypeChecker operandTypeChecker, List<RelDataType> paramTypes, TableFunction function) Deprecated. -
SqlUserDefinedTableFunction
public SqlUserDefinedTableFunction(SqlIdentifier opName, SqlKind kind, SqlReturnTypeInference returnTypeInference, SqlOperandTypeInference operandTypeInference, @Nullable SqlOperandMetadata operandMetadata, TableFunction function) Creates a user-defined table function.
-
-
Method Details
-
getFunction
Returns function that implements given operator call.- Overrides:
getFunction
in classSqlUserDefinedFunction
- Returns:
- function that implements given operator call
-
getRowTypeInference
Description copied from interface:SqlTableFunction
Returns the record type of the table yielded by this function when applied to given arguments. Only literal arguments are passed, non-literal are replaced with default values (null, 0, false, etc).- Specified by:
getRowTypeInference
in interfaceSqlTableFunction
- Returns:
- strategy to infer the row type of a call to this function
-
getElementType
Returns the row type of the table yielded by this function when applied to given arguments. Only literal arguments are passed, non-literal are replaced with default values (null, 0, false, etc).- Parameters:
callBinding
- Operand bound to arguments- Returns:
- element type of the table (e.g.
Object[].class
)
-