public class FlinkTableFunctionImpl<T>
extends org.apache.calcite.schema.impl.ReflectiveFunctionBase
implements org.apache.calcite.schema.TableFunction
TableFunctionImpl
.
We need it in order to create a TableSqlFunction
.
The main difference is that we override the getRowType()
and getElementType()
.Constructor and Description |
---|
FlinkTableFunctionImpl(TypeInformation<T> typeInfo,
int[] fieldIndexes,
String[] fieldNames,
Method evalMethod) |
Modifier and Type | Method and Description |
---|---|
Method |
evalMethod() |
int[] |
fieldIndexes() |
String[] |
fieldNames() |
TypeInformation<?>[] |
fieldTypes() |
Type |
getElementType(List<Object> arguments) |
org.apache.calcite.rel.type.RelDataType |
getRowType(org.apache.calcite.rel.type.RelDataTypeFactory typeFactory,
List<Object> arguments) |
TypeInformation<T> |
typeInfo() |
builder, getParameters
public FlinkTableFunctionImpl(TypeInformation<T> typeInfo, int[] fieldIndexes, String[] fieldNames, Method evalMethod)
public TypeInformation<T> typeInfo()
public int[] fieldIndexes()
public String[] fieldNames()
public Method evalMethod()
public TypeInformation<?>[] fieldTypes()
public Type getElementType(List<Object> arguments)
getElementType
in interface org.apache.calcite.schema.TableFunction
Copyright © 2014–2018 The Apache Software Foundation. All rights reserved.