Class ScalarFunctionDefinition
- java.lang.Object
-
- org.apache.flink.table.functions.ScalarFunctionDefinition
-
- All Implemented Interfaces:
FunctionDefinition
@Deprecated @Internal public final class ScalarFunctionDefinition extends Object implements FunctionDefinition
Deprecated.Non-legacy functions can simply omit this wrapper for declarations.A "marker" function definition of a user-defined scalar function that uses the old type system stack.This class can be dropped once we introduce a new type inference.
-
-
Constructor Summary
Constructors Constructor Description ScalarFunctionDefinition(String name, ScalarFunction scalarFunction)Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleanequals(Object o)Deprecated.FunctionKindgetKind()Deprecated.Returns the kind of function this definition describes.StringgetName()Deprecated.Set<FunctionRequirement>getRequirements()Deprecated.Returns the set of requirements this definition demands.ScalarFunctiongetScalarFunction()Deprecated.TypeInferencegetTypeInference(DataTypeFactory factory)Deprecated.Returns the logic for performing type inference of a call to this function definition.inthashCode()Deprecated.booleanisDeterministic()Deprecated.Returns information about the determinism of the function's results.StringtoString()Deprecated.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.flink.table.functions.FunctionDefinition
supportsConstantFolding
-
-
-
-
Constructor Detail
-
ScalarFunctionDefinition
public ScalarFunctionDefinition(String name, ScalarFunction scalarFunction)
Deprecated.
-
-
Method Detail
-
getName
public String getName()
Deprecated.
-
getScalarFunction
public ScalarFunction getScalarFunction()
Deprecated.
-
getKind
public FunctionKind getKind()
Deprecated.Description copied from interface:FunctionDefinitionReturns the kind of function this definition describes.- Specified by:
getKindin interfaceFunctionDefinition
-
getTypeInference
public TypeInference getTypeInference(DataTypeFactory factory)
Deprecated.Description copied from interface:FunctionDefinitionReturns the logic for performing type inference of a call to this function definition.The type inference process is responsible for inferring unknown types of input arguments, validating input arguments, and producing result types. The type inference process happens independent of a function body. The output of the type inference is used to search for a corresponding runtime implementation.
Instances of type inference can be created by using
TypeInference.newBuilder().See
BuiltInFunctionDefinitionsfor concrete usage examples.- Specified by:
getTypeInferencein interfaceFunctionDefinition
-
getRequirements
public Set<FunctionRequirement> getRequirements()
Deprecated.Description copied from interface:FunctionDefinitionReturns the set of requirements this definition demands.- Specified by:
getRequirementsin interfaceFunctionDefinition
-
isDeterministic
public boolean isDeterministic()
Deprecated.Description copied from interface:FunctionDefinitionReturns information about the determinism of the function's results.It returns
trueif and only if a call to this function is guaranteed to always return the same result given the same parameters.trueis assumed by default. If the function is not purely functional likerandom(), date(), now(), ...this method must returnfalse.Furthermore, return
falseif the planner should always execute this function on the cluster side. In other words: the planner should not perform constant expression reduction during planning for constant calls to this function.- Specified by:
isDeterministicin interfaceFunctionDefinition
-
-