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

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

commit 4704745153f8f9c3bdcfdd25201b7192e4982b81
Author: Jesus Camacho Rodriguez <[email protected]>
AuthorDate: Fri Oct 1 20:57:35 2021 -0700

    [CALCITE-4819] SemiJoin operator is not skipped in materialized view-based 
rewriting algorithm
    
    Close apache/calcite#2557
---
 .../org/apache/calcite/rel/rules/materialize/MaterializedViewRule.java  | 2 +-
 .../java/org/apache/calcite/test/MaterializedViewRelOptRulesTest.java   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/core/src/main/java/org/apache/calcite/rel/rules/materialize/MaterializedViewRule.java
 
b/core/src/main/java/org/apache/calcite/rel/rules/materialize/MaterializedViewRule.java
index 01aaf5e..d3df37a 100644
--- 
a/core/src/main/java/org/apache/calcite/rel/rules/materialize/MaterializedViewRule.java
+++ 
b/core/src/main/java/org/apache/calcite/rel/rules/materialize/MaterializedViewRule.java
@@ -638,7 +638,7 @@ public abstract class MaterializedViewRule<C extends 
MaterializedViewRule.Config
       if (Join.class.isAssignableFrom(c)) {
         for (RelNode n : e.getValue()) {
           final Join join = (Join) n;
-          if (join.getJoinType() != JoinRelType.INNER && !join.isSemiJoin()) {
+          if (join.getJoinType() != JoinRelType.INNER) {
             // Skip it
             return false;
           }
diff --git 
a/core/src/test/java/org/apache/calcite/test/MaterializedViewRelOptRulesTest.java
 
b/core/src/test/java/org/apache/calcite/test/MaterializedViewRelOptRulesTest.java
index 707b76d..4d7033f 100644
--- 
a/core/src/test/java/org/apache/calcite/test/MaterializedViewRelOptRulesTest.java
+++ 
b/core/src/test/java/org/apache/calcite/test/MaterializedViewRelOptRulesTest.java
@@ -931,7 +931,7 @@ public class MaterializedViewRelOptRulesTest extends 
AbstractMaterializedViewTes
             + "join \"depts\" using (\"deptno\")",
         "select \"empid\" from \"emps\"\n"
             + "where \"deptno\" in (select \"deptno\" from \"depts\")")
-        .ok();
+        .noMat();
   }
 
   @Test void testJoinMaterialization12() {

Reply via email to