public class UdfImpl extends UdfImplReflectiveFunctionBase implements org.apache.calcite.schema.ScalarFunction, org.apache.calcite.schema.ImplementableFunction
ScalarFunctionImpl
, to address BEAM-5921.UdfImplReflectiveFunctionBase.ParameterListBuilder
method, parameters
Modifier and Type | Method and Description |
---|---|
static org.apache.calcite.schema.ScalarFunction |
create(java.lang.Class<?> clazz,
java.lang.String methodName)
Creates
ScalarFunction from given class. |
static org.apache.calcite.schema.ScalarFunction |
create(java.lang.reflect.Method method)
Creates
ScalarFunction from given method. |
static ImmutableMultimap<java.lang.String,org.apache.calcite.schema.ScalarFunction> |
createAll(java.lang.Class<?> clazz)
Creates
ScalarFunction for each method in a given class. |
org.apache.calcite.adapter.enumerable.CallImplementor |
getImplementor() |
org.apache.calcite.rel.type.RelDataType |
getReturnType(org.apache.calcite.rel.type.RelDataTypeFactory typeFactory) |
org.apache.calcite.rel.type.RelDataType |
getReturnType(org.apache.calcite.rel.type.RelDataTypeFactory typeFactory,
org.apache.calcite.sql.SqlOperatorBinding opBinding) |
builder, getParameters
public static ImmutableMultimap<java.lang.String,org.apache.calcite.schema.ScalarFunction> createAll(java.lang.Class<?> clazz)
ScalarFunction
for each method in a given class.public static org.apache.calcite.schema.ScalarFunction create(java.lang.Class<?> clazz, java.lang.String methodName)
ScalarFunction
from given class.
If a method of the given name is not found or it does not suit, returns null
.
clazz
- class that is used to implement the functionmethodName
- Method name (typically "eval")ScalarFunction
or nullpublic static org.apache.calcite.schema.ScalarFunction create(java.lang.reflect.Method method)
ScalarFunction
from given method. When eval
method does not suit, null
is returned.method
- method that is used to implement the functionScalarFunction
or nullpublic org.apache.calcite.rel.type.RelDataType getReturnType(org.apache.calcite.rel.type.RelDataTypeFactory typeFactory)
getReturnType
in interface org.apache.calcite.schema.ScalarFunction
public org.apache.calcite.adapter.enumerable.CallImplementor getImplementor()
getImplementor
in interface org.apache.calcite.schema.ImplementableFunction
public org.apache.calcite.rel.type.RelDataType getReturnType(org.apache.calcite.rel.type.RelDataTypeFactory typeFactory, org.apache.calcite.sql.SqlOperatorBinding opBinding)