Github user wuchong commented on a diff in the pull request:
https://github.com/apache/flink/pull/4536#discussion_r140163581
--- Diff:
flink-libraries/flink-table/src/main/scala/org/apache/flink/table/functions/utils/TableSqlFunction.scala
---
@@ -40,17 +40,14 @@ class TableSqlFunction(
name: String,
udtf: TableFunction[_],
rowTypeInfo: TypeInformation[_],
- returnTypeInference: SqlReturnTypeInference,
- operandTypeInference: SqlOperandTypeInference,
- operandTypeChecker: SqlOperandTypeChecker,
- paramTypes: util.List[RelDataType],
+ typeFactory: FlinkTypeFactory,
functionImpl: FlinkTableFunctionImpl[_])
extends SqlUserDefinedTableFunction(
new SqlIdentifier(name, SqlParserPos.ZERO),
- returnTypeInference,
- operandTypeInference,
- operandTypeChecker,
- paramTypes,
+ ReturnTypes.CURSOR,
+ createOperandTypeInference(name, udtf, typeFactory),
+ createOperandTypeChecker(name, udtf),
+ null,
--- End diff --
I think it is fine. `ScalarSqlFunction` and `AggregateSqlFunction` also
pass `null` and works good.
---