twalthr commented on a change in pull request #10942: [FLINK-15487][table]
Allow registering FLIP-65 functions in TableEnvironment
URL: https://github.com/apache/flink/pull/10942#discussion_r372289321
##########
File path:
flink-table/flink-table-api-java/src/main/java/org/apache/flink/table/expressions/resolver/rules/ResolveCallByArgumentsRule.java
##########
@@ -238,36 +244,40 @@ private ResolvedExpression runLegacyTypeInference(
/**
* Validates and cleans an inline, unregistered {@link
UserDefinedFunction}.
*/
- private FunctionDefinition
prepareUserDefinedFunction(FunctionDefinition definition) {
+ private FunctionDefinition
prepareInlineUserDefinedFunction(FunctionDefinition definition) {
if (definition instanceof ScalarFunctionDefinition) {
final ScalarFunctionDefinition sf =
(ScalarFunctionDefinition) definition;
-
UserDefinedFunctionHelper.prepareFunction(resolutionContext.configuration(),
sf.getScalarFunction());
+
UserDefinedFunctionHelper.prepareInstance(resolutionContext.configuration(),
sf.getScalarFunction());
return new ScalarFunctionDefinition(
sf.getName(),
sf.getScalarFunction());
} else if (definition instanceof
TableFunctionDefinition) {
final TableFunctionDefinition tf =
(TableFunctionDefinition) definition;
-
UserDefinedFunctionHelper.prepareFunction(resolutionContext.configuration(),
tf.getTableFunction());
+
UserDefinedFunctionHelper.prepareInstance(resolutionContext.configuration(),
tf.getTableFunction());
return new TableFunctionDefinition(
tf.getName(),
tf.getTableFunction(),
tf.getResultType());
} else if (definition instanceof
AggregateFunctionDefinition) {
final AggregateFunctionDefinition af =
(AggregateFunctionDefinition) definition;
-
UserDefinedFunctionHelper.prepareFunction(resolutionContext.configuration(),
af.getAggregateFunction());
+
UserDefinedFunctionHelper.prepareInstance(resolutionContext.configuration(),
af.getAggregateFunction());
return new AggregateFunctionDefinition(
af.getName(),
af.getAggregateFunction(),
af.getResultTypeInfo(),
af.getAccumulatorTypeInfo());
} else if (definition instanceof
TableAggregateFunctionDefinition) {
final TableAggregateFunctionDefinition taf =
(TableAggregateFunctionDefinition) definition;
-
UserDefinedFunctionHelper.prepareFunction(resolutionContext.configuration(),
taf.getTableAggregateFunction());
+
UserDefinedFunctionHelper.prepareInstance(resolutionContext.configuration(),
taf.getTableAggregateFunction());
return new TableAggregateFunctionDefinition(
taf.getName(),
taf.getTableAggregateFunction(),
taf.getResultTypeInfo(),
taf.getAccumulatorTypeInfo());
+ } else if (definition instanceof UserDefinedFunction) {
+ UserDefinedFunctionHelper.prepareInstance(
Review comment:
Not yet :(
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services