You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by "michaelbraun (via GitHub)" <gi...@apache.org> on 2026/09/17 20:53:42 UTC

[PR] [CALCITE-7794] Reduce the work HepPlanner does per rule application attempt [calcite]

michaelbraun opened a new pull request, #5272:
URL: https://github.com/apache/calcite/pull/5272

   ## Summary
   
   `HepPlanner` applies a rule collection by trying every rule against every vertex, so rule application attempts greatly outnumber matches. Avoidable work sits on that path — some of it on every attempt, some only on attempts that cannot match.
   
   Paid on **every** attempt, whether or not it matches:
   
   * `applyRule` tested `graph.vertexSet().contains(vertex)` on each call. Both call sites try every rule in the collection against the same vertex object, in a loop that only exits early on an actual match, so graph membership cannot change within that loop. A vertex visited with 100 rules did 100 set lookups where one suffices. The test moves to the two callers, which also return early when the rule collection is empty, so the hoisted test is not paid when there is no rule to apply.
   
   Paid on attempts whose operand **cannot match**, the large majority:
   
   * `applyRule` allocated the `bindings` list and the `nodeChildren` map before calling `matchOperands`, which rejects on its first statement (`operand.matches(rel)`), so both were allocated and discarded.
   * The `ConverterRule` and `CommonRelSubExprRule` branches ran before the operand was tested, traversing a vertex's parents for attempts that could never match.
   
   `applyRule` now tests the operand before doing anything else. `matchOperands` is split into a thin entry point that makes that test and `matchOperandsWithOperandMatched` which assumes it, so the test is not repeated for the attempts that pass it. The matching logic itself is unchanged, and recursive descent still goes through the checking entry point.
   
   ## Measurements
   
   `HepQueryVarietyBenchmark`, added here, plans queries converted from SQL through `CoreRules` that fire, timing `setRoot` plus `findBestExp`. Two independent dimensions: `ruleCount` is how many attempts each vertex draws, `firingPercent` is the share of the rule set able to rewrite these queries. Percent faster than unmodified `HepPlanner`, mean over four query shapes:
   
   | firing% | 26 rules | 100 rules |
   |---|---|---|
   | 0 | 25.3% | 44.2% |
   | 50 | 18.1% | 28.8% |
   | 100 | 16.6% | 23.9% |
   
   Per query at the least favourable setting, 100% firing with 26 rules: `FILTER_PROJECT` 26.6%, `AGGREGATE` 20.6%, `MIXED_DEEP` 11.9%, `JOIN5` 7.5%.
   
   Every cell of the grid improves, from 7.5% to 48.5%. Gains rise with rule count, because more attempts become cheaper, and fall as more of the rule set can fire, because transformation work grows and dilutes the saving. They remain substantial at 100% firing because the membership test is saved whether or not a rule matches.
   
   The non-firing portion of the rule set is drawn from real rules for `INTERSECT`, `MINUS`, `MATCH_RECOGNIZE`, `TABLESAMPLE` and exchange, which none of these queries contain — real rules rather than synthetic ones, so the added attempts reject at the operand depths real rules reject at, several having operands with children and so rejecting below the top level. Plans are identical at every rule count, confirming the non-firing portion never fires.
   
   Figures are means over three rounds. Each candidate was bracketed between two runs of the baseline jar within the same round and compared against their mean, because the machine used shows run-to-run drift that JMH's within-run error bars understate; the same-jar position control stayed under 2% for all but two cells, against effects several times larger.
   
   `ubenchmark` has `LargePlanBenchmark`, which drives `HepPlanner` over large synthetic trees, but no benchmark that plans realistic queries through rules that actually fire, which is what sizing this change needed.
   
   ## Test plan
   
   - [x] `HepPlannerTest`, `RelOptRulesTest`, `MaterializedViewRelOptRulesTest`, `CombineRelOptRulesTest` — 1064 tests, 0 failures
   - [x] `checkstyleMain`, `checkstyleJmh`, `autostyleCheck` clean
   - [ ] full `./gradlew build`
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
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: commits-unsubscribe@calcite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [CALCITE-7794] Reduce the work HepPlanner does per rule application attempt [calcite]

Posted by "sonarqubecloud[bot] (via GitHub)" <gi...@apache.org>.
sonarqubecloud[bot] commented on PR #5272:
URL: https://github.com/apache/calcite/pull/5272#issuecomment-5721337982

   ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=apache_calcite&pullRequest=5272) **Quality Gate passed**  
   Issues  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=apache_calcite&pullRequest=5272&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=apache_calcite&pullRequest=5272&issueStatuses=ACCEPTED)
   
   Measures  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_calcite&pullRequest=5272&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [84.6% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_calcite&pullRequest=5272&metric=new_coverage&view=list)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [20.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=apache_calcite&pullRequest=5272&metric=new_duplicated_lines_density&view=list)  
     
   <!-- sqra-placement-anchor -->
   [See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=apache_calcite&pullRequest=5272)
   
   


-- 
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: commits-unsubscribe@calcite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [CALCITE-7794] Reduce the work HepPlanner does per rule application attempt [calcite]

Posted by "mihaibudiu (via GitHub)" <gi...@apache.org>.
mihaibudiu merged PR #5272:
URL: https://github.com/apache/calcite/pull/5272


-- 
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: commits-unsubscribe@calcite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [CALCITE-7794] Reduce the work HepPlanner does per rule application attempt [calcite]

Posted by "michaelbraun (via GitHub)" <gi...@apache.org>.
michaelbraun commented on code in PR #5272:
URL: https://github.com/apache/calcite/pull/5272#discussion_r4042947293


##########
core/src/main/java/org/apache/calcite/plan/hep/HepPlanner.java:
##########
@@ -749,9 +762,19 @@ private static boolean matchOperands(
       RelNode rel,
       List<RelNode> bindings,
       Map<RelNode, List<RelNode>> nodeChildren) {
-    if (!operand.matches(rel)) {
-      return false;
-    }
+    return operand.matches(rel)
+        && matchOperandsWithOperandMatched(operand, rel, bindings, nodeChildren);
+  }
+
+  /**
+   * Matches the children of {@code rel} against those of {@code operand}, for a {@code rel}
+   * that {@code operand} is already known to match.
+   */
+  private static boolean matchOperandsWithOperandMatched(

Review Comment:
   I don't like the name of this method, could use help here 



-- 
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: commits-unsubscribe@calcite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [CALCITE-7794] Reduce the work HepPlanner does per rule application attempt [calcite]

Posted by "mihaibudiu (via GitHub)" <gi...@apache.org>.
mihaibudiu commented on PR #5272:
URL: https://github.com/apache/calcite/pull/5272#issuecomment-5895685046

   Please squash the commits for merging


-- 
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: commits-unsubscribe@calcite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [CALCITE-7794] Reduce the work HepPlanner does per rule application attempt [calcite]

Posted by "sonarqubecloud[bot] (via GitHub)" <gi...@apache.org>.
sonarqubecloud[bot] commented on PR #5272:
URL: https://github.com/apache/calcite/pull/5272#issuecomment-5723879058

   ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=apache_calcite&pullRequest=5272) **Quality Gate passed**  
   Issues  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=apache_calcite&pullRequest=5272&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=apache_calcite&pullRequest=5272&issueStatuses=ACCEPTED)
   
   Measures  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_calcite&pullRequest=5272&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [84.6% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_calcite&pullRequest=5272&metric=new_coverage&view=list)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [23.5% Duplication on New Code](https://sonarcloud.io/component_measures?id=apache_calcite&pullRequest=5272&metric=new_duplicated_lines_density&view=list)  
     
   <!-- sqra-placement-anchor -->
   [See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=apache_calcite&pullRequest=5272)
   
   


-- 
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: commits-unsubscribe@calcite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [CALCITE-7794] Reduce the work HepPlanner does per rule application attempt [calcite]

Posted by "michaelbraun (via GitHub)" <gi...@apache.org>.
michaelbraun commented on code in PR #5272:
URL: https://github.com/apache/calcite/pull/5272#discussion_r4042984195


##########
core/src/main/java/org/apache/calcite/plan/hep/HepPlanner.java:
##########
@@ -478,6 +478,10 @@ private int depthFirstApply(HepProgram.State programState,
       boolean forceConversions, int nMatches) {
     while (iter.hasNext()) {
       HepRelVertex vertex = iter.next();
+      // Once per vertex: a match ends the loop below, so membership cannot change in it.

Review Comment:
   Would also appreciate help phrasing this better 



-- 
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: commits-unsubscribe@calcite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [CALCITE-7794] Reduce the work HepPlanner does per rule application attempt [calcite]

Posted by "sonarqubecloud[bot] (via GitHub)" <gi...@apache.org>.
sonarqubecloud[bot] commented on PR #5272:
URL: https://github.com/apache/calcite/pull/5272#issuecomment-5881981927

   ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=apache_calcite&pullRequest=5272) **Quality Gate passed**  
   Issues  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [2 New issues](https://sonarcloud.io/project/issues?id=apache_calcite&pullRequest=5272&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=apache_calcite&pullRequest=5272&issueStatuses=ACCEPTED)
   
   Measures  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_calcite&pullRequest=5272&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [89.7% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_calcite&pullRequest=5272&metric=new_coverage&view=list)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [8.9% Duplication on New Code](https://sonarcloud.io/component_measures?id=apache_calcite&pullRequest=5272&metric=new_duplicated_lines_density&view=list)  
     
   <!-- sqra-placement-anchor -->
   [See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=apache_calcite&pullRequest=5272)
   
   


-- 
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: commits-unsubscribe@calcite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [CALCITE-7794] Reduce the work HepPlanner does per rule application attempt [calcite]

Posted by "mihaibudiu (via GitHub)" <gi...@apache.org>.
mihaibudiu commented on code in PR #5272:
URL: https://github.com/apache/calcite/pull/5272#discussion_r4124912445


##########
core/src/main/java/org/apache/calcite/plan/hep/HepPlanner.java:
##########
@@ -744,24 +761,56 @@ protected List<HepRelVertex> getVertexParents(HepRelVertex vertex) {
     return parents;
   }
 
+  /**
+   * Returns whether {@code rel} and its descendants match {@code operand} and its child
+   * operands.
+   *
+   * <p>A rel matches an operand if the operand {@link RelOptRuleOperand#matches matches} it
+   * by class, trait and predicate, and each of the operand's child operands matches one of
+   * the rel's children: the child in the same position, or any child for an
+   * {@code UNORDERED} child policy. A rel whose inputs are not all vertices of the graph
+   * never matches, as the graph can be partially optimized for a materialized view.

Review Comment:
   does the materialized view comment belong here?



##########
core/src/main/java/org/apache/calcite/plan/hep/HepPlanner.java:
##########
@@ -744,24 +761,56 @@ protected List<HepRelVertex> getVertexParents(HepRelVertex vertex) {
     return parents;
   }
 
+  /**
+   * Returns whether {@code rel} and its descendants match {@code operand} and its child
+   * operands.
+   *
+   * <p>A rel matches an operand if the operand {@link RelOptRuleOperand#matches matches} it
+   * by class, trait and predicate, and each of the operand's child operands matches one of
+   * the rel's children: the child in the same position, or any child for an
+   * {@code UNORDERED} child policy. A rel whose inputs are not all vertices of the graph
+   * never matches, as the graph can be partially optimized for a materialized view.
+   *
+   * <p>Appends each matched rel to {@code bindings}, in operand order, and for an

Review Comment:
   does this happen unconditionally or only when the rel matches?



##########
core/src/main/java/org/apache/calcite/plan/hep/HepPlanner.java:
##########
@@ -744,24 +761,56 @@ protected List<HepRelVertex> getVertexParents(HepRelVertex vertex) {
     return parents;
   }
 
+  /**
+   * Returns whether {@code rel} and its descendants match {@code operand} and its child
+   * operands.
+   *
+   * <p>A rel matches an operand if the operand {@link RelOptRuleOperand#matches matches} it
+   * by class, trait and predicate, and each of the operand's child operands matches one of
+   * the rel's children: the child in the same position, or any child for an
+   * {@code UNORDERED} child policy. A rel whose inputs are not all vertices of the graph
+   * never matches, as the graph can be partially optimized for a materialized view.
+   *
+   * <p>Appends each matched rel to {@code bindings}, in operand order, and for an
+   * {@code UNORDERED} child policy records the matched rel's children in
+   * {@code nodeChildren}.
+   */
   private static boolean matchOperands(
       RelOptRuleOperand operand,
       RelNode rel,
       List<RelNode> bindings,
       Map<RelNode, List<RelNode>> nodeChildren) {
-    if (!operand.matches(rel)) {
-      return false;
-    }
-    for (RelNode input : rel.getInputs()) {
-      if (!(input instanceof HepRelVertex)) {
+    return operand.matches(rel)
+        && matchOperandsForMatchedRel(operand, rel, bindings, nodeChildren);
+  }
+
+  /**
+   * Returns whether {@code rel} and its descendants match {@code operand} and its child
+   * operands, as {@link #matchOperands} does, given that {@code operand} already
+   * {@link RelOptRuleOperand#matches matches} {@code rel}. A caller that has made that test

Review Comment:
   the comment about the caller is not needed, just describe what this function does.
   use short phrases which can be read easily.



-- 
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: commits-unsubscribe@calcite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [CALCITE-7794] Reduce the work HepPlanner does per rule application attempt [calcite]

Posted by "mihaibudiu (via GitHub)" <gi...@apache.org>.
mihaibudiu commented on PR #5272:
URL: https://github.com/apache/calcite/pull/5272#issuecomment-5898214301

   I have run the build on my machine to test it, so I will merge it as is.


-- 
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: commits-unsubscribe@calcite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [CALCITE-7794] Reduce the work HepPlanner does per rule application attempt [calcite]

Posted by "mihaibudiu (via GitHub)" <gi...@apache.org>.
mihaibudiu commented on code in PR #5272:
URL: https://github.com/apache/calcite/pull/5272#discussion_r4067486888


##########
core/src/main/java/org/apache/calcite/plan/hep/HepPlanner.java:
##########
@@ -749,9 +762,19 @@ private static boolean matchOperands(
       RelNode rel,
       List<RelNode> bindings,
       Map<RelNode, List<RelNode>> nodeChildren) {
-    if (!operand.matches(rel)) {
-      return false;
-    }
+    return operand.matches(rel)
+        && matchOperandsWithOperandMatched(operand, rel, bindings, nodeChildren);
+  }
+
+  /**
+   * Matches the children of {@code rel} against those of {@code operand}, for a {@code rel}

Review Comment:
   Maybe you can start by generating a better javadoc, and this will tell you what the function name should be. What does "matches" mean here?



-- 
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: commits-unsubscribe@calcite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [CALCITE-7794] Reduce the work HepPlanner does per rule application attempt [calcite]

Posted by "sonarqubecloud[bot] (via GitHub)" <gi...@apache.org>.
sonarqubecloud[bot] commented on PR #5272:
URL: https://github.com/apache/calcite/pull/5272#issuecomment-5802991592

   ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=apache_calcite&pullRequest=5272) **Quality Gate passed**  
   Issues  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [2 New issues](https://sonarcloud.io/project/issues?id=apache_calcite&pullRequest=5272&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=apache_calcite&pullRequest=5272&issueStatuses=ACCEPTED)
   
   Measures  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_calcite&pullRequest=5272&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [89.7% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_calcite&pullRequest=5272&metric=new_coverage&view=list)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [8.2% Duplication on New Code](https://sonarcloud.io/component_measures?id=apache_calcite&pullRequest=5272&metric=new_duplicated_lines_density&view=list)  
     
   <!-- sqra-placement-anchor -->
   [See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=apache_calcite&pullRequest=5272)
   
   


-- 
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: commits-unsubscribe@calcite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [CALCITE-7794] Reduce the work HepPlanner does per rule application attempt [calcite]

Posted by "sonarqubecloud[bot] (via GitHub)" <gi...@apache.org>.
sonarqubecloud[bot] commented on PR #5272:
URL: https://github.com/apache/calcite/pull/5272#issuecomment-5783265412

   ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=apache_calcite&pullRequest=5272) **Quality Gate passed**  
   Issues  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=apache_calcite&pullRequest=5272&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=apache_calcite&pullRequest=5272&issueStatuses=ACCEPTED)
   
   Measures  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_calcite&pullRequest=5272&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [84.6% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_calcite&pullRequest=5272&metric=new_coverage&view=list)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [14.8% Duplication on New Code](https://sonarcloud.io/component_measures?id=apache_calcite&pullRequest=5272&metric=new_duplicated_lines_density&view=list)  
     
   <!-- sqra-placement-anchor -->
   [See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=apache_calcite&pullRequest=5272)
   
   


-- 
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: commits-unsubscribe@calcite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [CALCITE-7794] Reduce the work HepPlanner does per rule application attempt [calcite]

Posted by "sonarqubecloud[bot] (via GitHub)" <gi...@apache.org>.
sonarqubecloud[bot] commented on PR #5272:
URL: https://github.com/apache/calcite/pull/5272#issuecomment-5724079152

   ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=apache_calcite&pullRequest=5272) **Quality Gate passed**  
   Issues  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=apache_calcite&pullRequest=5272&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=apache_calcite&pullRequest=5272&issueStatuses=ACCEPTED)
   
   Measures  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_calcite&pullRequest=5272&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [84.6% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_calcite&pullRequest=5272&metric=new_coverage&view=list)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [23.5% Duplication on New Code](https://sonarcloud.io/component_measures?id=apache_calcite&pullRequest=5272&metric=new_duplicated_lines_density&view=list)  
     
   <!-- sqra-placement-anchor -->
   [See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=apache_calcite&pullRequest=5272)
   
   


-- 
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: commits-unsubscribe@calcite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [CALCITE-7794] Reduce the work HepPlanner does per rule application attempt [calcite]

Posted by "sonarqubecloud[bot] (via GitHub)" <gi...@apache.org>.
sonarqubecloud[bot] commented on PR #5272:
URL: https://github.com/apache/calcite/pull/5272#issuecomment-5722216804

   ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=apache_calcite&pullRequest=5272) **Quality Gate passed**  
   Issues  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=apache_calcite&pullRequest=5272&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=apache_calcite&pullRequest=5272&issueStatuses=ACCEPTED)
   
   Measures  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_calcite&pullRequest=5272&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [84.6% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_calcite&pullRequest=5272&metric=new_coverage&view=list)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [23.5% Duplication on New Code](https://sonarcloud.io/component_measures?id=apache_calcite&pullRequest=5272&metric=new_duplicated_lines_density&view=list)  
     
   <!-- sqra-placement-anchor -->
   [See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=apache_calcite&pullRequest=5272)
   
   


-- 
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: commits-unsubscribe@calcite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org