Package org.apache.calcite.schema.impl
Class TableFunctionImpl
java.lang.Object
org.apache.calcite.schema.impl.ReflectiveFunctionBase
org.apache.calcite.schema.impl.TableFunctionImpl
- All Implemented Interfaces:
Function
,ImplementableFunction
,TableFunction
public class TableFunctionImpl
extends ReflectiveFunctionBase
implements TableFunction, ImplementableFunction
Implementation of
TableFunction
based on a
method.-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.calcite.schema.impl.ReflectiveFunctionBase
ReflectiveFunctionBase.ParameterListBuilder
-
Field Summary
Fields inherited from class org.apache.calcite.schema.impl.ReflectiveFunctionBase
method, parameters
-
Method Summary
Modifier and TypeMethodDescriptionstatic @Nullable TableFunction
Creates aTableFunctionImpl
from a class, looking for an "eval" method.static @Nullable TableFunction
Creates aTableFunctionImpl
from a class, looking for a method with a given name.static @Nullable TableFunction
Creates aTableFunctionImpl
from a method.getElementType
(List<? extends @Nullable Object> arguments) Returns the row type of the table yielded by this function when applied to given arguments.Returns implementor that translates the function to linq4j expression.getRowType
(RelDataTypeFactory typeFactory, List<? extends @Nullable Object> arguments) Returns the record type of the table yielded by this function when applied to given arguments.Methods inherited from class org.apache.calcite.schema.impl.ReflectiveFunctionBase
builder, getParameters
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.calcite.schema.Function
getParameters
-
Method Details
-
create
Creates aTableFunctionImpl
from a class, looking for an "eval" method. Returns null if there is no such method. -
create
Creates aTableFunctionImpl
from a class, looking for a method with a given name. Returns null if there is no such method. -
create
Creates aTableFunctionImpl
from a method. -
getRowType
public RelDataType getRowType(RelDataTypeFactory typeFactory, List<? extends @Nullable Object> arguments) Description copied from interface:TableFunction
Returns the record type of the table yielded by this function when applied to given arguments. Only literal arguments are passed, non-literal are replaced with default values (null, 0, false, etc).- Specified by:
getRowType
in interfaceTableFunction
- Parameters:
typeFactory
- Type factoryarguments
- arguments of a function call (only literal arguments are passed, nulls for non-literal ones)- Returns:
- row type of the table
-
getElementType
Description copied from interface:TableFunction
Returns the row type of the table yielded by this function when applied to given arguments. Only literal arguments are passed, non-literal are replaced with default values (null, 0, false, etc).- Specified by:
getElementType
in interfaceTableFunction
- Parameters:
arguments
- arguments of a function call (only literal arguments are passed, nulls for non-literal ones)- Returns:
- element type of the table (e.g.
Object[].class
)
-
getImplementor
Description copied from interface:ImplementableFunction
Returns implementor that translates the function to linq4j expression.- Specified by:
getImplementor
in interfaceImplementableFunction
- Returns:
- implementor that translates the function to linq4j expression.
-