Class ProcedureDefinition
- java.lang.Object
-
- org.apache.flink.table.procedures.ProcedureDefinition
-
- All Implemented Interfaces:
FunctionDefinition
@Internal public class ProcedureDefinition extends Object implements FunctionDefinition
Definition of a procedure. We consider procedure as a kind of function, so make it implementFunctionDefinition.
-
-
Field Summary
Fields Modifier and Type Field Description static StringPROCEDURE_CALLthe name for the methods to be involved in the procedure.
-
Constructor Summary
Constructors Constructor Description ProcedureDefinition(Procedure procedure)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FunctionKindgetKind()Returns the kind of function this definition describes.TypeInferencegetTypeInference(DataTypeFactory typeFactory)Returns the logic for performing type inference of a call to this function definition.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.flink.table.functions.FunctionDefinition
getRequirements, isDeterministic, supportsConstantFolding
-
-
-
-
Field Detail
-
PROCEDURE_CALL
public static final String PROCEDURE_CALL
the name for the methods to be involved in the procedure.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ProcedureDefinition
public ProcedureDefinition(Procedure procedure)
-
-
Method Detail
-
getKind
public FunctionKind getKind()
Description copied from interface:FunctionDefinitionReturns the kind of function this definition describes.- Specified by:
getKindin interfaceFunctionDefinition
-
getTypeInference
public TypeInference getTypeInference(DataTypeFactory typeFactory)
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
-
-