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 TableFunctionCreates aTableFunctionImplfrom a class, looking for an "eval" method.static @Nullable TableFunctionCreates aTableFunctionImplfrom a class, looking for a method with a given name.static @Nullable TableFunctionCreates aTableFunctionImplfrom 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, getParametersMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.calcite.schema.Function
getParameters
-
Method Details
-
create
Creates aTableFunctionImplfrom a class, looking for an "eval" method. Returns null if there is no such method. -
create
Creates aTableFunctionImplfrom a class, looking for a method with a given name. Returns null if there is no such method. -
create
Creates aTableFunctionImplfrom a method. -
getRowType
public RelDataType getRowType(RelDataTypeFactory typeFactory, List<? extends @Nullable Object> arguments) Description copied from interface:TableFunctionReturns 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:
getRowTypein 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:TableFunctionReturns 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:
getElementTypein 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:ImplementableFunctionReturns implementor that translates the function to linq4j expression.- Specified by:
getImplementorin interfaceImplementableFunction- Returns:
- implementor that translates the function to linq4j expression.
-