This is an automated email from the ASF dual-hosted git repository. twalthr pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/flink.git
from e4b8e4ea52a [FLINK-27453][tests] Cleanup TestBaseUtils add 898fca299a2 [hotfix][table-planner] Remove TableConfig as member variable in PlannerContext add 769dced40f2 [hotfix][table-planner] Simplify PlannerContext signatures related to CatalogManager add acf7f4afbfe [hotfix][table] Simplify code in ParserImpl and FunctionLookup add 6d81f6c220e [FLINK-22857][table-planner] Simplify DefaultSqlExprToRexConverterFactory to RexFactory add 0728c20288e [FLINK-22857][table-common] Expose more RuntimeContext functionalities in FunctionContext add d53c2de8a50 [FLINK-22857][table] Support evaluating expressions in SpecializedFunction add c48899eaa67 [FLINK-26947][table] Add ARRAY_CONTAINS function No new revisions were added by this update. Summary of changes: docs/data/sql_functions.yml | 3 + .../table/planner/delegation/hive/HiveParser.java | 8 +- .../delegation/hive/HiveParserCalcitePlanner.java | 8 +- .../planner/delegation/hive/HiveParserFactory.java | 6 +- flink-python/pyflink/table/expression.py | 10 + .../flink/table/api/internal/BaseExpressions.java | 13 + .../table/api/internal/TableEnvironmentImpl.java | 12 +- .../apache/flink/table/catalog/FunctionLookup.java | 3 +- .../functions/BuiltInFunctionDefinitions.java | 23 +- .../table/functions/ConstantFunctionContext.java | 87 ------- .../flink/table/functions/FunctionContext.java | 80 ++++++- .../flink/table/functions/SpecializedFunction.java | 75 +++++- .../table/functions/UserDefinedFunctionHelper.java | 48 +++- .../table/types/inference/InputTypeStrategies.java | 9 + ....java => ArrayElementArgumentTypeStrategy.java} | 27 ++- .../strategies/SpecificInputTypeStrategies.java | 4 + .../flink/table/planner/calcite/RexFactory.java | 141 +++++++++++ .../planner/calcite/SqlExprToRexConverter.java | 50 ---- .../calcite/SqlExprToRexConverterFactory.java | 45 ---- ...exConverterImpl.java => SqlToRexConverter.java} | 58 ++--- .../catalog/FunctionCatalogOperatorTable.java | 9 +- .../planner/delegation/DefaultParserFactory.java | 8 +- .../flink/table/planner/delegation/ParserImpl.java | 38 +-- .../table/planner/delegation/PlannerContext.java | 174 +++++--------- .../converter/CallExpressionConvertRule.java | 7 + .../converter/FunctionDefinitionConvertRule.java | 1 + .../functions/bridging/BridgingSqlFunction.java | 29 ++- .../abilities/source/SourceAbilityContext.java | 6 +- .../nodes/exec/batch/BatchExecHashAggregate.java | 4 +- .../exec/batch/BatchExecHashWindowAggregate.java | 2 +- .../nodes/exec/batch/BatchExecOverAggregate.java | 4 +- .../nodes/exec/batch/BatchExecSortAggregate.java | 4 +- .../exec/batch/BatchExecSortWindowAggregate.java | 2 +- .../common/CommonExecLegacyTableSourceScan.java | 2 +- .../nodes/exec/common/CommonExecLookupJoin.java | 4 +- .../exec/stream/StreamExecDataStreamScan.java | 2 +- .../stream/StreamExecGlobalGroupAggregate.java | 4 +- .../stream/StreamExecGlobalWindowAggregate.java | 6 +- .../exec/stream/StreamExecGroupAggregate.java | 2 +- .../exec/stream/StreamExecGroupTableAggregate.java | 2 +- .../stream/StreamExecGroupWindowAggregate.java | 4 +- .../StreamExecIncrementalGroupAggregate.java | 4 +- .../exec/stream/StreamExecLocalGroupAggregate.java | 2 +- .../stream/StreamExecLocalWindowAggregate.java | 2 +- .../plan/nodes/exec/stream/StreamExecMatch.java | 4 +- .../nodes/exec/stream/StreamExecOverAggregate.java | 4 +- .../StreamExecPythonGroupWindowAggregate.java | 2 +- .../exec/stream/StreamExecWindowAggregate.java | 2 +- .../logical/WrapJsonAggFunctionArgumentsRule.java | 4 +- .../flink/table/planner/calcite/FlinkContext.scala | 7 +- .../table/planner/calcite/FlinkContextImpl.scala | 4 +- .../planner/codegen/CodeGeneratorContext.scala | 10 +- .../table/planner/codegen/ExprCodeGenerator.scala | 9 + .../table/planner/codegen/ExpressionReducer.scala | 22 +- .../planner/codegen/LookupJoinCodeGenerator.scala | 4 +- .../codegen/WatermarkGeneratorCodeGenerator.scala | 34 +-- .../planner/codegen/agg/ImperativeAggCodeGen.scala | 8 +- .../codegen/calls/BridgingFunctionGenUtil.scala | 261 ++++++++++++++++++++- .../codegen/calls/BridgingSqlFunctionCallGen.scala | 7 +- .../table/planner/delegation/PlannerBase.scala | 33 +-- .../BatchCommonSubGraphBasedOptimizer.scala | 7 +- .../StreamCommonSubGraphBasedOptimizer.scala | 12 +- .../plan/schema/LegacyCatalogSourceTable.scala | 10 +- .../table/planner/plan/utils/AggregateUtil.scala | 4 +- .../table/planner/delegation/ParserImplTest.java | 2 +- .../converter/ExpressionConverterTest.java | 6 +- .../functions/CollectionFunctionsITCase.java | 115 +++++++++ .../operations/SqlToOperationConverterTest.java | 11 +- .../planner/runtime/stream/sql/FunctionITCase.java | 127 ++++++++++ .../flink/table/planner/utils/PlannerMocks.java | 6 +- .../codegen/WatermarkGeneratorCodeGenTest.scala | 4 +- .../table/planner/codegen/agg/AggTestBase.scala | 2 +- .../expressions/utils/ExpressionTestBase.scala | 2 +- .../planner/match/PatternTranslatorTestBase.scala | 2 +- .../metadata/AggCallSelectivityEstimatorTest.scala | 2 +- .../plan/metadata/FlinkRelMdHandlerTestBase.scala | 6 +- .../plan/metadata/SelectivityEstimatorTest.scala | 2 +- .../plan/nodes/calcite/RelNodeTestBase.scala | 2 +- .../flink/table/planner/utils/TableTestBase.scala | 2 +- .../functions/DefaultExpressionEvaluator.java | 95 ++++++++ .../functions/scalar/ArrayContainsFunction.java | 91 +++++++ 81 files changed, 1376 insertions(+), 581 deletions(-) delete mode 100644 flink-table/flink-table-common/src/main/java/org/apache/flink/table/functions/ConstantFunctionContext.java copy flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/inference/strategies/{CompositeArgumentTypeStrategy.java => ArrayElementArgumentTypeStrategy.java} (59%) create mode 100644 flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/calcite/RexFactory.java delete mode 100644 flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/calcite/SqlExprToRexConverter.java delete mode 100644 flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/calcite/SqlExprToRexConverterFactory.java rename flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/calcite/{SqlExprToRexConverterImpl.java => SqlToRexConverter.java} (61%) create mode 100644 flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/CollectionFunctionsITCase.java create mode 100644 flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/functions/DefaultExpressionEvaluator.java create mode 100644 flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/functions/scalar/ArrayContainsFunction.java