This is an automated email from the ASF dual-hosted git repository.

zhenchen pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/calcite.git


The following commit(s) were added to refs/heads/main by this push:
     new 3fa0b62c33 [CALCITE-7155] Some optimization can be done according to 
error prone suggestions
3fa0b62c33 is described below

commit 3fa0b62c33c3a9eaaac59b09dfe800619f8bdb9b
Author: Zhen Chen <[email protected]>
AuthorDate: Sun Aug 31 20:55:01 2025 +0800

    [CALCITE-7155] Some optimization can be done according to error prone 
suggestions
---
 .../org/apache/calcite/adapter/arrow/ArrowTranslator.java     |  2 +-
 .../org/apache/calcite/rel/rules/JoinExpandOrToUnionRule.java |  8 ++++----
 .../java/org/apache/calcite/rel/rules/SetOpToFilterRule.java  | 10 +++++-----
 core/src/main/java/org/apache/calcite/sql/SqlCallBinding.java |  2 +-
 .../main/java/org/apache/calcite/sql2rel/RelDecorrelator.java |  2 +-
 .../postgresql/format/compiled/NumberCompiledPattern.java     |  2 +-
 .../java/org/apache/calcite/adapter/mongodb/MongoFilter.java  |  2 +-
 testkit/src/main/java/org/apache/calcite/test/QuidemTest.java | 11 ++++++-----
 8 files changed, 20 insertions(+), 19 deletions(-)

diff --git 
a/arrow/src/main/java/org/apache/calcite/adapter/arrow/ArrowTranslator.java 
b/arrow/src/main/java/org/apache/calcite/adapter/arrow/ArrowTranslator.java
index 1651974cb4..1102ce2056 100644
--- a/arrow/src/main/java/org/apache/calcite/adapter/arrow/ArrowTranslator.java
+++ b/arrow/src/main/java/org/apache/calcite/adapter/arrow/ArrowTranslator.java
@@ -229,7 +229,7 @@ private String translateUnary(String op, RexCall call) {
   }
 
   /** Combines a field name and a unary operator to produce a predicate 
string. */
-  private String translateUnaryOp(String op, String name) {
+  private static String translateUnaryOp(String op, String name) {
     return name + " " + op;
   }
 
diff --git 
a/core/src/main/java/org/apache/calcite/rel/rules/JoinExpandOrToUnionRule.java 
b/core/src/main/java/org/apache/calcite/rel/rules/JoinExpandOrToUnionRule.java
index eafb92a872..6e3f137e56 100644
--- 
a/core/src/main/java/org/apache/calcite/rel/rules/JoinExpandOrToUnionRule.java
+++ 
b/core/src/main/java/org/apache/calcite/rel/rules/JoinExpandOrToUnionRule.java
@@ -120,7 +120,7 @@ protected JoinExpandOrToUnionRule(Config config) {
     call.transformTo(expanded);
   }
 
-  private List<RexNode> splitCond(Join join) {
+  private static List<RexNode> splitCond(Join join) {
     final RexBuilder builder = join.getCluster().getRexBuilder();
     final List<RexNode> orConds = RelOptUtil.disjunctions(join.getCondition());
     final int leftFieldCount = join.getLeft().getRowType().getFieldCount();
@@ -147,7 +147,7 @@ private List<RexNode> splitCond(Join join) {
     return result;
   }
 
-  private boolean isValidCond(RexNode node, int leftFieldCount) {
+  private static boolean isValidCond(RexNode node, int leftFieldCount) {
     boolean hasJoinKeyCond = false;
     List<RexNode> conds = RelOptUtil.conjunctions(node);
     for (RexNode cond : conds) {
@@ -176,7 +176,7 @@ private boolean isValidCond(RexNode node, int 
leftFieldCount) {
     return hasJoinKeyCond;
   }
 
-  private boolean isEquiJoinCond(RexCall call, int leftFieldCount) {
+  private static boolean isEquiJoinCond(RexCall call, int leftFieldCount) {
     if (call.getKind() != SqlKind.EQUALS
         && call.getKind() != SqlKind.IS_NOT_DISTINCT_FROM) {
       return false;
@@ -195,7 +195,7 @@ private boolean isEquiJoinCond(RexCall call, int 
leftFieldCount) {
     return false;
   }
 
-  private boolean doesNotReferToBothInputs(RexNode rex, int leftFieldCount) {
+  private static boolean doesNotReferToBothInputs(RexNode rex, int 
leftFieldCount) {
     RexInputRefCounter counter = new RexInputRefCounter(leftFieldCount);
     rex.accept(counter);
     return counter.doesNotReferToBothInputs();
diff --git 
a/core/src/main/java/org/apache/calcite/rel/rules/SetOpToFilterRule.java 
b/core/src/main/java/org/apache/calcite/rel/rules/SetOpToFilterRule.java
index 127485239c..e00e3e50f6 100644
--- a/core/src/main/java/org/apache/calcite/rel/rules/SetOpToFilterRule.java
+++ b/core/src/main/java/org/apache/calcite/rel/rules/SetOpToFilterRule.java
@@ -115,7 +115,7 @@ protected SetOpToFilterRule(Config config) {
     config.matchHandler().accept(this, call);
   }
 
-  private void match(RelOptRuleCall call) {
+  private static void match(RelOptRuleCall call) {
     final SetOp setOp = call.rel(0);
     final List<RelNode> inputs = setOp.getInputs();
     if (setOp.all || inputs.size() < 2) {
@@ -235,7 +235,7 @@ private static RexNode andFirstNotRest(RelBuilder builder, 
List<RexNode> conds)
    * INTERSECT: AND combination
    * MINUS: Special handling where first source uses AND-NOT combination.
    */
-  private RexNode combineConditions(RelBuilder builder, List<RexNode> conds,
+  private static RexNode combineConditions(RelBuilder builder, List<RexNode> 
conds,
       SetOp setOp, boolean isFirstSource) {
     if (setOp instanceof Union) {
       return builder.or(conds);
@@ -254,21 +254,21 @@ private RexNode combineConditions(RelBuilder builder, 
List<RexNode> conds,
   @Value.Immutable(singleton = false)
   public interface Config extends RelRule.Config {
     Config UNION = ImmutableSetOpToFilterRule.Config.builder()
-        .withMatchHandler(SetOpToFilterRule::match)
+        .withMatchHandler((rule, call) -> SetOpToFilterRule.match(call))
         .build()
         .withOperandSupplier(
             b0 -> b0.operand(Union.class).anyInputs())
         .as(Config.class);
 
     Config INTERSECT = ImmutableSetOpToFilterRule.Config.builder()
-        .withMatchHandler(SetOpToFilterRule::match)
+        .withMatchHandler((rule, call) -> SetOpToFilterRule.match(call))
         .build()
         .withOperandSupplier(
             b0 -> b0.operand(Intersect.class).anyInputs())
         .as(Config.class);
 
     Config MINUS = ImmutableSetOpToFilterRule.Config.builder()
-        .withMatchHandler(SetOpToFilterRule::match)
+        .withMatchHandler((rule, call) -> SetOpToFilterRule.match(call))
         .build()
         .withOperandSupplier(
             b0 -> b0.operand(Minus.class).anyInputs())
diff --git a/core/src/main/java/org/apache/calcite/sql/SqlCallBinding.java 
b/core/src/main/java/org/apache/calcite/sql/SqlCallBinding.java
index b0c46298e4..95e403901c 100644
--- a/core/src/main/java/org/apache/calcite/sql/SqlCallBinding.java
+++ b/core/src/main/java/org/apache/calcite/sql/SqlCallBinding.java
@@ -191,7 +191,7 @@ private boolean hasAssignment() {
 
   /** Returns the operands to a call permuted into the same order as the
    * formal parameters of the function. */
-  private List<SqlNode> permutedOperands(final SqlCall call) {
+  private static List<SqlNode> permutedOperands(final SqlCall call) {
     final SqlOperator operator = call.getOperator();
     final SqlOperandMetadata operandMetadata =
         requireNonNull((SqlOperandMetadata) operator.getOperandTypeChecker(),
diff --git a/core/src/main/java/org/apache/calcite/sql2rel/RelDecorrelator.java 
b/core/src/main/java/org/apache/calcite/sql2rel/RelDecorrelator.java
index 1fa0beaa3d..42e3a84f96 100644
--- a/core/src/main/java/org/apache/calcite/sql2rel/RelDecorrelator.java
+++ b/core/src/main/java/org/apache/calcite/sql2rel/RelDecorrelator.java
@@ -3053,7 +3053,7 @@ public static final class 
AdjustProjectForCountAggregateRule
       onMatch2(d, call, correlate, left, aggOutputProject, aggregate);
     }
 
-    private void onMatch2(
+    private static void onMatch2(
         RelDecorrelator d,
         RelOptRuleCall call,
         Correlate correlate,
diff --git 
a/core/src/main/java/org/apache/calcite/util/format/postgresql/format/compiled/NumberCompiledPattern.java
 
b/core/src/main/java/org/apache/calcite/util/format/postgresql/format/compiled/NumberCompiledPattern.java
index 58e96e080d..2f001e33d2 100644
--- 
a/core/src/main/java/org/apache/calcite/util/format/postgresql/format/compiled/NumberCompiledPattern.java
+++ 
b/core/src/main/java/org/apache/calcite/util/format/postgresql/format/compiled/NumberCompiledPattern.java
@@ -79,7 +79,7 @@ public NumberCompiledPattern(ChronoUnitEnum chronoUnit,
     return stringValue;
   }
 
-  private String getOrdinalSuffix(String stringValue) {
+  private static String getOrdinalSuffix(String stringValue) {
     // 10 through 19 have a th suffix
     if (stringValue.length() >= 2 && stringValue.charAt(stringValue.length() - 
2) == '1') {
       return "th";
diff --git 
a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoFilter.java 
b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoFilter.java
index 062623bcdd..00a26c5fe3 100644
--- a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoFilter.java
+++ b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoFilter.java
@@ -280,7 +280,7 @@ private boolean translateBinary2(String op, RexNode left, 
RexNode right,
       }
     }
 
-    private void translateOp2(String op, String name, RexLiteral right,
+    private static void translateOp2(String op, String name, RexLiteral right,
         Multimap<String, Pair<String, RexLiteral>> multimap, Map<String, 
RexLiteral> eqMap) {
       if (op == null) {
         // E.g.: {deptno: 100}
diff --git a/testkit/src/main/java/org/apache/calcite/test/QuidemTest.java 
b/testkit/src/main/java/org/apache/calcite/test/QuidemTest.java
index fed1ce466a..244735dc6a 100644
--- a/testkit/src/main/java/org/apache/calcite/test/QuidemTest.java
+++ b/testkit/src/main/java/org/apache/calcite/test/QuidemTest.java
@@ -249,7 +249,7 @@ protected void checkRun(String path) throws Exception {
             // - Reset defaults: "original"
             if (propertyName.equals("planner-rules")) {
               if (value.equals("original")) {
-                closer.add(Hook.PLANNER.addThread(this::resetPlanner));
+                closer.add(Hook.PLANNER.addThread(QuidemTest::resetPlanner));
               } else {
                 closer.add(
                     Hook.PLANNER.addThread((Consumer<RelOptPlanner>)
@@ -277,7 +277,7 @@ protected void checkRun(String path) throws Exception {
     }
   }
 
-  private void updatePlanner(RelOptPlanner planner, String value) {
+  private static void updatePlanner(RelOptPlanner planner, String value) {
     List<RelOptRule> rulesAdd = new ArrayList<>();
     List<RelOptRule> rulesRemove = new ArrayList<>();
     parseRules(value, rulesAdd, rulesRemove);
@@ -285,14 +285,15 @@ private void updatePlanner(RelOptPlanner planner, String 
value) {
     rulesAdd.forEach(planner::addRule);
   }
 
-  private void resetPlanner(RelOptPlanner planner) {
+  private static void resetPlanner(RelOptPlanner planner) {
     if (originalRules != null) {
       planner.getRules().forEach(planner::removeRule);
       originalRules.forEach(planner::addRule);
     }
   }
 
-  private void parseRules(String value, List<RelOptRule> rulesAdd, 
List<RelOptRule> rulesRemove) {
+  private static void parseRules(String value, List<RelOptRule> rulesAdd,
+      List<RelOptRule> rulesRemove) {
     Pattern pattern = 
Pattern.compile("([+-])((CoreRules|EnumerableRules)\\.)?(\\w+)");
     Matcher matcher = pattern.matcher(value);
 
@@ -330,7 +331,7 @@ public static RelOptRule getCoreRule(String ruleName) {
     }
   }
 
-  private void setRules(char operation, RelOptRule rule,
+  private static void setRules(char operation, RelOptRule rule,
       List<RelOptRule> rulesAdd, List<RelOptRule> rulesRemove) {
     if (operation == '+') {
       rulesAdd.add(rule);

Reply via email to