public class ScalarFunctionImpl 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.Function |
create(java.lang.Class<?> clazz,
java.lang.String methodName)
Creates
Function from given class. |
static org.apache.calcite.schema.Function |
create(java.lang.reflect.Method method)
Creates
Function from given method. |
static org.apache.beam.vendor.guava.v20_0.com.google.common.collect.ImmutableMultimap<java.lang.String,org.apache.calcite.schema.Function> |
createAll(java.lang.Class<?> clazz)
Creates
Function 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 org.apache.beam.vendor.guava.v20_0.com.google.common.collect.ImmutableMultimap<java.lang.String,org.apache.calcite.schema.Function> createAll(java.lang.Class<?> clazz)
Function
for each method in a given class.public static org.apache.calcite.schema.Function create(java.lang.Class<?> clazz, java.lang.String methodName)
Function
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.Function create(java.lang.reflect.Method method)
Function
from given method. When eval
method
does not suit, null
is returned.method
- method that is used to implement the functionFunction
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)