Class BuiltInTableFunction<T>
- java.lang.Object
-
- org.apache.flink.table.functions.UserDefinedFunction
-
- org.apache.flink.table.functions.TableFunction<T>
-
- org.apache.flink.table.runtime.functions.table.BuiltInTableFunction<T>
-
- All Implemented Interfaces:
Serializable,org.apache.flink.table.functions.FunctionDefinition
- Direct Known Subclasses:
ReplicateRowsFunction,UnnestRowsFunctionBase.UnnestTableFunctionBase
@Internal public abstract class BuiltInTableFunction<T> extends org.apache.flink.table.functions.TableFunction<T>Base class for runtime implementation represented asTableFunctionthat is constructed fromBuiltInFunctionDefinition.specialize(SpecializedContext).Subclasses must offer a constructor that takes
SpecializedFunction.SpecializedContextif they are constructed from aBuiltInFunctionDefinition. Otherwise theBuiltInTableFunction()constructor might be more appropriate.By default, all built-in functions work on internal data structures. However, this can be changed by overriding
getArgumentDataTypes()andgetOutputDataType(). Or by overridinggetTypeInference(DataTypeFactory)directly.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedBuiltInTableFunction()protectedBuiltInTableFunction(org.apache.flink.table.functions.BuiltInFunctionDefinition definition, org.apache.flink.table.functions.SpecializedFunction.SpecializedContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<org.apache.flink.table.types.DataType>getArgumentDataTypes()org.apache.flink.table.types.DataTypegetOutputDataType()Set<org.apache.flink.table.functions.FunctionRequirement>getRequirements()org.apache.flink.table.types.inference.TypeInferencegetTypeInference(org.apache.flink.table.catalog.DataTypeFactory typeFactory)booleanisDeterministic()-
Methods inherited from class org.apache.flink.table.functions.TableFunction
collect, finish, getKind, getParameterTypes, getResultType, setCollector
-
Methods inherited from class org.apache.flink.table.functions.UserDefinedFunction
close, functionIdentifier, open, toString
-
-
-
-
Method Detail
-
getArgumentDataTypes
public List<org.apache.flink.table.types.DataType> getArgumentDataTypes()
-
getOutputDataType
public org.apache.flink.table.types.DataType getOutputDataType()
-
getTypeInference
public org.apache.flink.table.types.inference.TypeInference getTypeInference(org.apache.flink.table.catalog.DataTypeFactory typeFactory)
- Specified by:
getTypeInferencein interfaceorg.apache.flink.table.functions.FunctionDefinition- Overrides:
getTypeInferencein classorg.apache.flink.table.functions.TableFunction<T>
-
getRequirements
public Set<org.apache.flink.table.functions.FunctionRequirement> getRequirements()
-
isDeterministic
public boolean isDeterministic()
-
-