xuyangzhong commented on code in PR #24179:
URL: https://github.com/apache/flink/pull/24179#discussion_r1466362809


##########
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/optimize/QueryHintsResolver.java:
##########
@@ -83,21 +85,50 @@ final List<RelNode> resolve(List<RelNode> roots) {
     }
 
     @Override
-    protected RelNode visitBiRel(BiRel biRel) {
-        Optional<String> leftName = extractAliasOrTableName(biRel.getLeft());
-        Optional<String> rightName = extractAliasOrTableName(biRel.getRight());
-
-        Set<RelHint> existentKVHints = new HashSet<>();
-
-        List<RelHint> oldHints = ((Hintable) biRel).getHints();
+    protected RelNode doVisit(RelNode node) {
+        List<RelHint> oldHints = ((Hintable) node).getHints();
         List<RelHint> oldQueryHints = FlinkHints.getAllQueryHints(oldHints);
         // has no hints, return directly.
         if (oldQueryHints.isEmpty()) {
-            return super.visitChildren(biRel);
+            return super.visitChildren(node);
         }
 
-        List<RelHint> newHints = new ArrayList<>();
+        final List<RelHint> newHints;
+        if (node instanceof BiRel) {
+            BiRel biRel = (BiRel) node;
+            Optional<String> leftName = 
extractAliasOrTableName(biRel.getLeft());
+            Optional<String> rightName = 
extractAliasOrTableName(biRel.getRight());
+            newHints = validateAndGetNewHintsFromBiRel(leftName, rightName, 
oldHints);
+        } else if (node instanceof SingleRel) {
+            SingleRel singleRel = (SingleRel) node;
+            Optional<String> tableName = 
extractAliasOrTableName(singleRel.getInput());

Review Comment:
   Emm it seems not, I will modify it separately in this separate jira. WDYT? 
https://issues.apache.org/jira/browse/FLINK-34235



-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to