godfreyhe opened a new pull request #13671: URL: https://github.com/apache/flink/pull/13671
## What is the purpose of the change *This pr aims to introduce multi-input exec node for blink planner. Currently, all the exec nodes are extends from both FlinkPhysicalRel and ExecNode, because the ExecNode#translateToPlan method will access some info of FlinkPhysicalRel, For minimal changes, we also let multi-input exec node extend them as a temporary solution* ## Brief change log - *Introduce BatchExecMultipleInputNode and StreamExecMultipleInputNode, and implement the necessary methods* ## Verifying this change This change added tests and can be verified as follows: - *Extended ExplainTest to verify the explain result of multiple input plan* - *Extended FlinkRelMdUniqueKeysTest to verify the result of `getUniqueKeys` on multiple input rel * ## Does this pull request potentially affect one of the following parts: - Dependencies (does it add or upgrade a dependency): (yes / **no**) - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: (yes / **no**) - The serializers: (yes / **no** / don't know) - The runtime per-record code paths (performance sensitive): (yes / **no** / don't know) - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (yes / **no** / don't know) - The S3 file system connector: (yes / **no** / don't know) ## Documentation - Does this pull request introduce a new feature? (**yes** / no) - If yes, how is the feature documented? (not applicable / docs / **JavaDocs** / not documented) ---------------------------------------------------------------- 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: us...@infra.apache.org