diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java
index 7739833..bd5b7c4 100644
--- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java
+++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java
@@ -270,10 +270,13 @@
                         filterVars.add(extraVars);
                     }
                     if (!filterVars.isEmpty()) {
-                        List<LogicalVariable> outputFilterVars = new ArrayList<>(filterVars.get(0));
+                        int outputFilterVarsCount = filterVars.get(0).size();
+                        List<LogicalVariable> outputFilterVars = new ArrayList<>(outputFilterVarsCount);
+                        for (int i = 0; i < outputFilterVarsCount; i++) {
+                            outputFilterVars.add(context.newVar());
+                        }
                         IntersectOperator intersectWithFilter =
                                 createIntersectWithFilter(outputFilterVars, filterVars, intersect);
-
                         intersectOrSortOrSplit.setValue(intersectWithFilter);
                         context.computeAndSetTypeEnvironmentForOperator(intersectWithFilter);
                         setPrimaryFilterVar(primaryOp, outputFilterVars.get(0), outputFilterVars.get(1), context);
diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java
index 0ea16ae..4199ece 100644
--- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java
+++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java
@@ -50,6 +50,7 @@
 import org.apache.hyracks.algebricks.core.algebra.operators.logical.IntersectOperator;
 import org.apache.hyracks.algebricks.core.algebra.operators.logical.OrderOperator;
 import org.apache.hyracks.algebricks.core.algebra.operators.logical.SelectOperator;
+import org.apache.hyracks.algebricks.core.algebra.operators.logical.visitors.VariableUtilities;
 import org.apache.hyracks.algebricks.core.algebra.util.OperatorPropertiesUtil;
 
 /**
@@ -291,8 +292,15 @@
             inputVars.add(orderedColumn);
         }
 
-        List<LogicalVariable> outputVar = inputVars.get(0);
-        IntersectOperator intersect = new IntersectOperator(outputVar, inputVars);
+        List<LogicalVariable> inputVars0 = inputVars.get(0);
+        List<LogicalVariable> outputVars = new ArrayList<>(inputVars0.size());
+        for (LogicalVariable inputVar : inputVars0) {
+            LogicalVariable outputVar = context.newVar();
+            outputVars.add(outputVar);
+            VariableUtilities.substituteVariables(lop, inputVar, outputVar, context);
+        }
+
+        IntersectOperator intersect = new IntersectOperator(outputVars, inputVars);
         intersect.setSourceLocation(lop.getSourceLocation());
         for (ILogicalOperator secondarySearch : subRoots) {
             intersect.getInputs().add(secondarySearch.getInputs().get(0));
@@ -460,6 +468,7 @@
         selectRef = null;
         selectOp = null;
         selectCond = null;
+        typeEnvironment = null;
         subTree.reset();
     }
 }
diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java
index 9673da3..7311644 100644
--- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java
+++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java
@@ -377,6 +377,7 @@
         setRootRef(null);
         getAssignsAndUnnestsRefs().clear();
         getAssignsAndUnnests().clear();
+        getVarsToFieldNameMap().clear();
         setDataSourceRef(null);
         setDataSourceType(DataSourceType.NO_DATASOURCE);
         setIxJoinOuterAdditionalDataSourceRefs(null);
@@ -384,6 +385,7 @@
         setDataset(null);
         setIxJoinOuterAdditionalDatasets(null);
         setRecordType(null);
+        setMetaRecordType(null);
         setIxJoinOuterAdditionalRecordTypes(null);
     }
 
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-selection/intersection-misc/intersection-misc-01.sqlpp b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-selection/intersection-misc/intersection-misc-01.sqlpp
new file mode 100644
index 0000000..c84df18
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-selection/intersection-misc/intersection-misc-01.sqlpp
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/*
+ * Description: Test index intersection
+ */
+
+drop  dataverse test if exists;
+create  dataverse test;
+
+use test;
+
+create type test.TestType as
+{
+  id : integer
+};
+
+create  dataset c(TestType) primary key id;
+create  dataset d(TestType) primary key id;
+
+create  index idx_c5 on d(c5:bigint) type btree;
+create  index idx_c6 on d(c6:string) type btree;
+
+FROM (
+ SELECT d.c3
+ FROM d
+ WHERE d.c1 IN (SELECT VALUE c.c11 FROM c)
+  AND d.c5 = 1
+) t1
+INNER JOIN
+  d t2 ON t1.c3 = t2.c2
+INNER JOIN (
+  SELECT d.c4
+  FROM d
+  WHERE d.c1 IN (SELECT VALUE c.c11 FROM c)
+    AND d.c6 BETWEEN "2019-01-01" AND "2019-02-01"
+    AND d.c5 = 1
+) t3 ON t2.c4 = t3.c4
+SELECT *
+ORDER BY t1.c3, t2.id, t3.c4;
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-selection/intersection-misc/intersection-misc-02.sqlpp b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-selection/intersection-misc/intersection-misc-02.sqlpp
new file mode 100644
index 0000000..bfdf79d
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-selection/intersection-misc/intersection-misc-02.sqlpp
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/*
+ * Description: Same query, skip some indexes -> no intersection
+ */
+
+drop  dataverse test if exists;
+create  dataverse test;
+
+use test;
+
+create type test.TestType as
+{
+  id : integer
+};
+
+create  dataset c(TestType) primary key id;
+create  dataset d(TestType) primary key id;
+
+create  index idx_c5 on d(c5:bigint) type btree;
+create  index idx_c6 on d(c6:string) type btree;
+
+FROM (
+ SELECT d.c3
+ FROM d
+ WHERE d.c1 IN (SELECT VALUE c.c11 FROM c)
+  AND d.c5 = 1
+) t1
+INNER JOIN
+  d t2 ON t1.c3 = t2.c2
+INNER JOIN (
+  SELECT d.c4
+  FROM d
+  WHERE d.c1 IN (SELECT VALUE c.c11 FROM c)
+    AND d.c6 /*+ skip-index */ BETWEEN "2019-01-01" AND "2019-02-01"
+    AND d.c5 = 1
+) t3 ON t2.c4 = t3.c4
+SELECT *
+ORDER BY t1.c3, t2.id, t3.c4;
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-selection/intersection-misc/intersection-misc-03.sqlpp b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-selection/intersection-misc/intersection-misc-03.sqlpp
new file mode 100644
index 0000000..88a8050
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-selection/intersection-misc/intersection-misc-03.sqlpp
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/*
+ * Description: Same query, skip some indexes -> no intersection
+ */
+
+drop  dataverse test if exists;
+create  dataverse test;
+
+use test;
+
+create type test.TestType as
+{
+  id : integer
+};
+
+create  dataset c(TestType) primary key id;
+create  dataset d(TestType) primary key id;
+
+create  index idx_c5 on d(c5:bigint) type btree;
+create  index idx_c6 on d(c6:string) type btree;
+
+FROM (
+ SELECT d.c3
+ FROM d
+ WHERE d.c1 IN (SELECT VALUE c.c11 FROM c)
+  AND d.c5 = 1
+) t1
+INNER JOIN
+  d t2 ON t1.c3 = t2.c2
+INNER JOIN (
+  SELECT d.c4
+  FROM d
+  WHERE d.c1 IN (SELECT VALUE c.c11 FROM c)
+    AND d.c6 BETWEEN "2019-01-01" AND "2019-02-01"
+    AND d.c5 /*+ skip-index */ = 1
+) t3 ON t2.c4 = t3.c4
+SELECT *
+ORDER BY t1.c3, t2.id, t3.c4;
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-selection/intersection-misc/intersection-misc-04.sqlpp b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-selection/intersection-misc/intersection-misc-04.sqlpp
new file mode 100644
index 0000000..dd16870
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-selection/intersection-misc/intersection-misc-04.sqlpp
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/*
+ * Description: Same query, skip some indexes -> no intersection
+ */
+
+drop  dataverse test if exists;
+create  dataverse test;
+
+use test;
+
+create type test.TestType as
+{
+  id : integer
+};
+
+create  dataset c(TestType) primary key id;
+create  dataset d(TestType) primary key id;
+
+create  index idx_c5 on d(c5:bigint) type btree;
+create  index idx_c6 on d(c6:string) type btree;
+
+FROM (
+ SELECT d.c3
+ FROM d
+ WHERE d.c1 IN (SELECT VALUE c.c11 FROM c)
+  AND d.c5 /*+ skip-index */ = 1
+) t1
+INNER JOIN
+  d t2 ON t1.c3 = t2.c2
+INNER JOIN (
+  SELECT d.c4
+  FROM d
+  WHERE d.c1 IN (SELECT VALUE c.c11 FROM c)
+    AND d.c6 /*+ skip-index */ BETWEEN "2019-01-01" AND "2019-02-01"
+    AND d.c5 /*+ skip-index */ = 1
+) t3 ON t2.c4 = t3.c4
+SELECT *
+ORDER BY t1.c3, t2.id, t3.c4;
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-01.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-01.plan
new file mode 100644
index 0000000..2f73b46
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-01.plan
@@ -0,0 +1,128 @@
+-- DISTRIBUTE_RESULT  |PARTITIONED|
+  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+    -- STREAM_PROJECT  |PARTITIONED|
+      -- ASSIGN  |PARTITIONED|
+        -- STREAM_PROJECT  |PARTITIONED|
+          -- SORT_MERGE_EXCHANGE [$$128(ASC), $$118(ASC), $$130(ASC) ]  |PARTITIONED|
+            -- STABLE_SORT [$$128(ASC), $$118(ASC), $$130(ASC)]  |PARTITIONED|
+              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                -- STREAM_PROJECT  |PARTITIONED|
+                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                    -- HYBRID_HASH_JOIN [$$123][$$130]  |PARTITIONED|
+                      -- HASH_PARTITION_EXCHANGE [$$123]  |PARTITIONED|
+                        -- STREAM_PROJECT  |PARTITIONED|
+                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                            -- HYBRID_HASH_JOIN [$$128][$$122]  |PARTITIONED|
+                              -- HASH_PARTITION_EXCHANGE [$$128]  |PARTITIONED|
+                                -- ASSIGN  |PARTITIONED|
+                                  -- STREAM_PROJECT  |PARTITIONED|
+                                    -- STREAM_SELECT  |PARTITIONED|
+                                      -- STREAM_PROJECT  |PARTITIONED|
+                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                          -- PRE_CLUSTERED_GROUP_BY[$$116]  |PARTITIONED|
+                                                  {
+                                                    -- AGGREGATE  |LOCAL|
+                                                      -- STREAM_SELECT  |LOCAL|
+                                                        -- NESTED_TUPLE_SOURCE  |LOCAL|
+                                                  }
+                                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                              -- STABLE_SORT [$$116(ASC)]  |PARTITIONED|
+                                                -- HASH_PARTITION_EXCHANGE [$$116]  |PARTITIONED|
+                                                  -- STREAM_PROJECT  |PARTITIONED|
+                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                      -- HYBRID_HASH_JOIN [$$125][$$71]  |PARTITIONED|
+                                                        -- HASH_PARTITION_EXCHANGE [$$125]  |PARTITIONED|
+                                                          -- STREAM_PROJECT  |PARTITIONED|
+                                                            -- STREAM_SELECT  |PARTITIONED|
+                                                              -- ASSIGN  |PARTITIONED|
+                                                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                  -- BTREE_SEARCH  |PARTITIONED|
+                                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                      -- REPLICATE  |PARTITIONED|
+                                                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                          -- STABLE_SORT [$$141(ASC)]  |PARTITIONED|
+                                                                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                              -- STREAM_PROJECT  |PARTITIONED|
+                                                                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                  -- BTREE_SEARCH  |PARTITIONED|
+                                                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                      -- ASSIGN  |PARTITIONED|
+                                                                                        -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                          -- REPLICATE  |PARTITIONED|
+                                                            -- HASH_PARTITION_EXCHANGE [$$71]  |PARTITIONED|
+                                                              -- STREAM_PROJECT  |PARTITIONED|
+                                                                -- ASSIGN  |PARTITIONED|
+                                                                  -- STREAM_PROJECT  |PARTITIONED|
+                                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                      -- DATASOURCE_SCAN  |PARTITIONED|
+                                                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                          -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                              -- HASH_PARTITION_EXCHANGE [$$122]  |PARTITIONED|
+                                -- ASSIGN  |PARTITIONED|
+                                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                    -- DATASOURCE_SCAN  |PARTITIONED|
+                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                        -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                      -- HASH_PARTITION_EXCHANGE [$$130]  |PARTITIONED|
+                        -- ASSIGN  |PARTITIONED|
+                          -- STREAM_PROJECT  |PARTITIONED|
+                            -- STREAM_SELECT  |PARTITIONED|
+                              -- STREAM_PROJECT  |PARTITIONED|
+                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                  -- PRE_CLUSTERED_GROUP_BY[$$119]  |PARTITIONED|
+                                          {
+                                            -- AGGREGATE  |LOCAL|
+                                              -- STREAM_SELECT  |LOCAL|
+                                                -- NESTED_TUPLE_SOURCE  |LOCAL|
+                                          }
+                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                      -- STABLE_SORT [$$119(ASC)]  |PARTITIONED|
+                                        -- HASH_PARTITION_EXCHANGE [$$119]  |PARTITIONED|
+                                          -- STREAM_PROJECT  |PARTITIONED|
+                                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                              -- HYBRID_HASH_JOIN [$$126][$$90]  |PARTITIONED|
+                                                -- HASH_PARTITION_EXCHANGE [$$126]  |PARTITIONED|
+                                                  -- STREAM_PROJECT  |PARTITIONED|
+                                                    -- STREAM_SELECT  |PARTITIONED|
+                                                      -- ASSIGN  |PARTITIONED|
+                                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                          -- BTREE_SEARCH  |PARTITIONED|
+                                                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                              -- INTERSECT  |PARTITIONED|
+                                                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                  -- STREAM_PROJECT  |PARTITIONED|
+                                                                    -- ASSIGN  |PARTITIONED|
+                                                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                        -- REPLICATE  |PARTITIONED|
+                                                                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                            -- STABLE_SORT [$$141(ASC)]  |PARTITIONED|
+                                                                              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                -- STREAM_PROJECT  |PARTITIONED|
+                                                                                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                    -- BTREE_SEARCH  |PARTITIONED|
+                                                                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                        -- ASSIGN  |PARTITIONED|
+                                                                                          -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                                                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                  -- STABLE_SORT [$$149(ASC)]  |PARTITIONED|
+                                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                      -- STREAM_PROJECT  |PARTITIONED|
+                                                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                          -- BTREE_SEARCH  |PARTITIONED|
+                                                                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                              -- ASSIGN  |PARTITIONED|
+                                                                                -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                  -- STREAM_PROJECT  |PARTITIONED|
+                                                    -- ASSIGN  |PARTITIONED|
+                                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                        -- REPLICATE  |PARTITIONED|
+                                                          -- HASH_PARTITION_EXCHANGE [$$71]  |PARTITIONED|
+                                                            -- STREAM_PROJECT  |PARTITIONED|
+                                                              -- ASSIGN  |PARTITIONED|
+                                                                -- STREAM_PROJECT  |PARTITIONED|
+                                                                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                    -- DATASOURCE_SCAN  |PARTITIONED|
+                                                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                        -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-02.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-02.plan
new file mode 100644
index 0000000..d08ddb8
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-02.plan
@@ -0,0 +1,116 @@
+-- DISTRIBUTE_RESULT  |PARTITIONED|
+  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+    -- STREAM_PROJECT  |PARTITIONED|
+      -- ASSIGN  |PARTITIONED|
+        -- STREAM_PROJECT  |PARTITIONED|
+          -- SORT_MERGE_EXCHANGE [$$128(ASC), $$118(ASC), $$130(ASC) ]  |PARTITIONED|
+            -- STABLE_SORT [$$128(ASC), $$118(ASC), $$130(ASC)]  |PARTITIONED|
+              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                -- STREAM_PROJECT  |PARTITIONED|
+                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                    -- HYBRID_HASH_JOIN [$$123][$$130]  |PARTITIONED|
+                      -- HASH_PARTITION_EXCHANGE [$$123]  |PARTITIONED|
+                        -- STREAM_PROJECT  |PARTITIONED|
+                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                            -- HYBRID_HASH_JOIN [$$128][$$122]  |PARTITIONED|
+                              -- HASH_PARTITION_EXCHANGE [$$128]  |PARTITIONED|
+                                -- ASSIGN  |PARTITIONED|
+                                  -- STREAM_PROJECT  |PARTITIONED|
+                                    -- STREAM_SELECT  |PARTITIONED|
+                                      -- STREAM_PROJECT  |PARTITIONED|
+                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                          -- PRE_CLUSTERED_GROUP_BY[$$116]  |PARTITIONED|
+                                                  {
+                                                    -- AGGREGATE  |LOCAL|
+                                                      -- STREAM_SELECT  |LOCAL|
+                                                        -- NESTED_TUPLE_SOURCE  |LOCAL|
+                                                  }
+                                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                              -- STABLE_SORT [$$116(ASC)]  |PARTITIONED|
+                                                -- HASH_PARTITION_EXCHANGE [$$116]  |PARTITIONED|
+                                                  -- STREAM_PROJECT  |PARTITIONED|
+                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                      -- HYBRID_HASH_JOIN [$$125][$$71]  |PARTITIONED|
+                                                        -- HASH_PARTITION_EXCHANGE [$$125]  |PARTITIONED|
+                                                          -- STREAM_PROJECT  |PARTITIONED|
+                                                            -- STREAM_SELECT  |PARTITIONED|
+                                                              -- ASSIGN  |PARTITIONED|
+                                                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                  -- REPLICATE  |PARTITIONED|
+                                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                      -- BTREE_SEARCH  |PARTITIONED|
+                                                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                          -- STABLE_SORT [$$141(ASC)]  |PARTITIONED|
+                                                                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                              -- STREAM_PROJECT  |PARTITIONED|
+                                                                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                  -- BTREE_SEARCH  |PARTITIONED|
+                                                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                      -- ASSIGN  |PARTITIONED|
+                                                                                        -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                          -- REPLICATE  |PARTITIONED|
+                                                            -- HASH_PARTITION_EXCHANGE [$$71]  |PARTITIONED|
+                                                              -- STREAM_PROJECT  |PARTITIONED|
+                                                                -- ASSIGN  |PARTITIONED|
+                                                                  -- STREAM_PROJECT  |PARTITIONED|
+                                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                      -- DATASOURCE_SCAN  |PARTITIONED|
+                                                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                          -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                              -- HASH_PARTITION_EXCHANGE [$$122]  |PARTITIONED|
+                                -- ASSIGN  |PARTITIONED|
+                                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                    -- DATASOURCE_SCAN  |PARTITIONED|
+                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                        -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                      -- HASH_PARTITION_EXCHANGE [$$130]  |PARTITIONED|
+                        -- ASSIGN  |PARTITIONED|
+                          -- STREAM_PROJECT  |PARTITIONED|
+                            -- STREAM_SELECT  |PARTITIONED|
+                              -- STREAM_PROJECT  |PARTITIONED|
+                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                  -- PRE_CLUSTERED_GROUP_BY[$$119]  |PARTITIONED|
+                                          {
+                                            -- AGGREGATE  |LOCAL|
+                                              -- STREAM_SELECT  |LOCAL|
+                                                -- NESTED_TUPLE_SOURCE  |LOCAL|
+                                          }
+                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                      -- STABLE_SORT [$$119(ASC)]  |PARTITIONED|
+                                        -- HASH_PARTITION_EXCHANGE [$$119]  |PARTITIONED|
+                                          -- STREAM_PROJECT  |PARTITIONED|
+                                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                              -- HYBRID_HASH_JOIN [$$126][$$90]  |PARTITIONED|
+                                                -- HASH_PARTITION_EXCHANGE [$$126]  |PARTITIONED|
+                                                  -- STREAM_PROJECT  |PARTITIONED|
+                                                    -- STREAM_SELECT  |PARTITIONED|
+                                                      -- ASSIGN  |PARTITIONED|
+                                                        -- STREAM_PROJECT  |PARTITIONED|
+                                                          -- ASSIGN  |PARTITIONED|
+                                                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                              -- REPLICATE  |PARTITIONED|
+                                                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                  -- BTREE_SEARCH  |PARTITIONED|
+                                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                      -- STABLE_SORT [$$141(ASC)]  |PARTITIONED|
+                                                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                          -- STREAM_PROJECT  |PARTITIONED|
+                                                                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                              -- BTREE_SEARCH  |PARTITIONED|
+                                                                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                  -- ASSIGN  |PARTITIONED|
+                                                                                    -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                  -- STREAM_PROJECT  |PARTITIONED|
+                                                    -- ASSIGN  |PARTITIONED|
+                                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                        -- REPLICATE  |PARTITIONED|
+                                                          -- HASH_PARTITION_EXCHANGE [$$71]  |PARTITIONED|
+                                                            -- STREAM_PROJECT  |PARTITIONED|
+                                                              -- ASSIGN  |PARTITIONED|
+                                                                -- STREAM_PROJECT  |PARTITIONED|
+                                                                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                    -- DATASOURCE_SCAN  |PARTITIONED|
+                                                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                        -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-03.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-03.plan
new file mode 100644
index 0000000..f5f857c
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-03.plan
@@ -0,0 +1,110 @@
+-- DISTRIBUTE_RESULT  |PARTITIONED|
+  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+    -- STREAM_PROJECT  |PARTITIONED|
+      -- ASSIGN  |PARTITIONED|
+        -- STREAM_PROJECT  |PARTITIONED|
+          -- SORT_MERGE_EXCHANGE [$$128(ASC), $$118(ASC), $$130(ASC) ]  |PARTITIONED|
+            -- STABLE_SORT [$$128(ASC), $$118(ASC), $$130(ASC)]  |PARTITIONED|
+              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                -- STREAM_PROJECT  |PARTITIONED|
+                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                    -- HYBRID_HASH_JOIN [$$123][$$130]  |PARTITIONED|
+                      -- HASH_PARTITION_EXCHANGE [$$123]  |PARTITIONED|
+                        -- STREAM_PROJECT  |PARTITIONED|
+                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                            -- HYBRID_HASH_JOIN [$$128][$$122]  |PARTITIONED|
+                              -- HASH_PARTITION_EXCHANGE [$$128]  |PARTITIONED|
+                                -- ASSIGN  |PARTITIONED|
+                                  -- STREAM_PROJECT  |PARTITIONED|
+                                    -- STREAM_SELECT  |PARTITIONED|
+                                      -- STREAM_PROJECT  |PARTITIONED|
+                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                          -- PRE_CLUSTERED_GROUP_BY[$$116]  |PARTITIONED|
+                                                  {
+                                                    -- AGGREGATE  |LOCAL|
+                                                      -- STREAM_SELECT  |LOCAL|
+                                                        -- NESTED_TUPLE_SOURCE  |LOCAL|
+                                                  }
+                                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                              -- STABLE_SORT [$$116(ASC)]  |PARTITIONED|
+                                                -- HASH_PARTITION_EXCHANGE [$$116]  |PARTITIONED|
+                                                  -- STREAM_PROJECT  |PARTITIONED|
+                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                      -- HYBRID_HASH_JOIN [$$125][$$71]  |PARTITIONED|
+                                                        -- HASH_PARTITION_EXCHANGE [$$125]  |PARTITIONED|
+                                                          -- STREAM_PROJECT  |PARTITIONED|
+                                                            -- STREAM_SELECT  |PARTITIONED|
+                                                              -- ASSIGN  |PARTITIONED|
+                                                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                  -- BTREE_SEARCH  |PARTITIONED|
+                                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                      -- STABLE_SORT [$$141(ASC)]  |PARTITIONED|
+                                                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                          -- STREAM_PROJECT  |PARTITIONED|
+                                                                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                              -- BTREE_SEARCH  |PARTITIONED|
+                                                                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                                  -- ASSIGN  |PARTITIONED|
+                                                                                    -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                          -- REPLICATE  |PARTITIONED|
+                                                            -- HASH_PARTITION_EXCHANGE [$$71]  |PARTITIONED|
+                                                              -- STREAM_PROJECT  |PARTITIONED|
+                                                                -- ASSIGN  |PARTITIONED|
+                                                                  -- STREAM_PROJECT  |PARTITIONED|
+                                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                      -- DATASOURCE_SCAN  |PARTITIONED|
+                                                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                          -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                              -- HASH_PARTITION_EXCHANGE [$$122]  |PARTITIONED|
+                                -- ASSIGN  |PARTITIONED|
+                                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                    -- DATASOURCE_SCAN  |PARTITIONED|
+                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                        -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                      -- HASH_PARTITION_EXCHANGE [$$130]  |PARTITIONED|
+                        -- ASSIGN  |PARTITIONED|
+                          -- STREAM_PROJECT  |PARTITIONED|
+                            -- STREAM_SELECT  |PARTITIONED|
+                              -- STREAM_PROJECT  |PARTITIONED|
+                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                  -- PRE_CLUSTERED_GROUP_BY[$$119]  |PARTITIONED|
+                                          {
+                                            -- AGGREGATE  |LOCAL|
+                                              -- STREAM_SELECT  |LOCAL|
+                                                -- NESTED_TUPLE_SOURCE  |LOCAL|
+                                          }
+                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                      -- STABLE_SORT [$$119(ASC)]  |PARTITIONED|
+                                        -- HASH_PARTITION_EXCHANGE [$$119]  |PARTITIONED|
+                                          -- STREAM_PROJECT  |PARTITIONED|
+                                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                              -- HYBRID_HASH_JOIN [$$126][$$90]  |PARTITIONED|
+                                                -- HASH_PARTITION_EXCHANGE [$$126]  |PARTITIONED|
+                                                  -- STREAM_PROJECT  |PARTITIONED|
+                                                    -- STREAM_SELECT  |PARTITIONED|
+                                                      -- ASSIGN  |PARTITIONED|
+                                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                          -- BTREE_SEARCH  |PARTITIONED|
+                                                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                              -- STABLE_SORT [$$145(ASC)]  |PARTITIONED|
+                                                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                  -- STREAM_PROJECT  |PARTITIONED|
+                                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                      -- BTREE_SEARCH  |PARTITIONED|
+                                                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                          -- ASSIGN  |PARTITIONED|
+                                                                            -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                  -- STREAM_PROJECT  |PARTITIONED|
+                                                    -- ASSIGN  |PARTITIONED|
+                                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                        -- REPLICATE  |PARTITIONED|
+                                                          -- HASH_PARTITION_EXCHANGE [$$71]  |PARTITIONED|
+                                                            -- STREAM_PROJECT  |PARTITIONED|
+                                                              -- ASSIGN  |PARTITIONED|
+                                                                -- STREAM_PROJECT  |PARTITIONED|
+                                                                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                    -- DATASOURCE_SCAN  |PARTITIONED|
+                                                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                        -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-04.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-04.plan
new file mode 100644
index 0000000..0d45fa3
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-04.plan
@@ -0,0 +1,106 @@
+-- DISTRIBUTE_RESULT  |PARTITIONED|
+  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+    -- STREAM_PROJECT  |PARTITIONED|
+      -- ASSIGN  |PARTITIONED|
+        -- STREAM_PROJECT  |PARTITIONED|
+          -- SORT_MERGE_EXCHANGE [$$128(ASC), $$118(ASC), $$130(ASC) ]  |PARTITIONED|
+            -- STABLE_SORT [$$128(ASC), $$118(ASC), $$130(ASC)]  |PARTITIONED|
+              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                -- STREAM_PROJECT  |PARTITIONED|
+                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                    -- HYBRID_HASH_JOIN [$$123][$$130]  |PARTITIONED|
+                      -- HASH_PARTITION_EXCHANGE [$$123]  |PARTITIONED|
+                        -- STREAM_PROJECT  |PARTITIONED|
+                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                            -- HYBRID_HASH_JOIN [$$128][$$122]  |PARTITIONED|
+                              -- HASH_PARTITION_EXCHANGE [$$128]  |PARTITIONED|
+                                -- ASSIGN  |PARTITIONED|
+                                  -- STREAM_PROJECT  |PARTITIONED|
+                                    -- STREAM_SELECT  |PARTITIONED|
+                                      -- STREAM_PROJECT  |PARTITIONED|
+                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                          -- PRE_CLUSTERED_GROUP_BY[$$116]  |PARTITIONED|
+                                                  {
+                                                    -- AGGREGATE  |LOCAL|
+                                                      -- STREAM_SELECT  |LOCAL|
+                                                        -- NESTED_TUPLE_SOURCE  |LOCAL|
+                                                  }
+                                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                              -- STABLE_SORT [$$116(ASC)]  |PARTITIONED|
+                                                -- HASH_PARTITION_EXCHANGE [$$116]  |PARTITIONED|
+                                                  -- STREAM_PROJECT  |PARTITIONED|
+                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                      -- HYBRID_HASH_JOIN [$$125][$$71]  |PARTITIONED|
+                                                        -- HASH_PARTITION_EXCHANGE [$$125]  |PARTITIONED|
+                                                          -- STREAM_PROJECT  |PARTITIONED|
+                                                            -- STREAM_SELECT  |PARTITIONED|
+                                                              -- ASSIGN  |PARTITIONED|
+                                                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                  -- REPLICATE  |PARTITIONED|
+                                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                      -- DATASOURCE_SCAN  |PARTITIONED|
+                                                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                          -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                          -- REPLICATE  |PARTITIONED|
+                                                            -- HASH_PARTITION_EXCHANGE [$$71]  |PARTITIONED|
+                                                              -- STREAM_PROJECT  |PARTITIONED|
+                                                                -- ASSIGN  |PARTITIONED|
+                                                                  -- STREAM_PROJECT  |PARTITIONED|
+                                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                      -- DATASOURCE_SCAN  |PARTITIONED|
+                                                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                          -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                              -- HASH_PARTITION_EXCHANGE [$$122]  |PARTITIONED|
+                                -- ASSIGN  |PARTITIONED|
+                                  -- STREAM_PROJECT  |PARTITIONED|
+                                    -- ASSIGN  |PARTITIONED|
+                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                        -- REPLICATE  |PARTITIONED|
+                                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                            -- DATASOURCE_SCAN  |PARTITIONED|
+                                              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                      -- HASH_PARTITION_EXCHANGE [$$130]  |PARTITIONED|
+                        -- ASSIGN  |PARTITIONED|
+                          -- STREAM_PROJECT  |PARTITIONED|
+                            -- STREAM_SELECT  |PARTITIONED|
+                              -- STREAM_PROJECT  |PARTITIONED|
+                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                  -- PRE_CLUSTERED_GROUP_BY[$$119]  |PARTITIONED|
+                                          {
+                                            -- AGGREGATE  |LOCAL|
+                                              -- STREAM_SELECT  |LOCAL|
+                                                -- NESTED_TUPLE_SOURCE  |LOCAL|
+                                          }
+                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                      -- STABLE_SORT [$$119(ASC)]  |PARTITIONED|
+                                        -- HASH_PARTITION_EXCHANGE [$$119]  |PARTITIONED|
+                                          -- STREAM_PROJECT  |PARTITIONED|
+                                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                              -- HYBRID_HASH_JOIN [$$126][$$90]  |PARTITIONED|
+                                                -- HASH_PARTITION_EXCHANGE [$$126]  |PARTITIONED|
+                                                  -- STREAM_PROJECT  |PARTITIONED|
+                                                    -- STREAM_SELECT  |PARTITIONED|
+                                                      -- ASSIGN  |PARTITIONED|
+                                                        -- STREAM_PROJECT  |PARTITIONED|
+                                                          -- ASSIGN  |PARTITIONED|
+                                                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                              -- REPLICATE  |PARTITIONED|
+                                                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                  -- DATASOURCE_SCAN  |PARTITIONED|
+                                                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                      -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                  -- STREAM_PROJECT  |PARTITIONED|
+                                                    -- ASSIGN  |PARTITIONED|
+                                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                        -- REPLICATE  |PARTITIONED|
+                                                          -- HASH_PARTITION_EXCHANGE [$$71]  |PARTITIONED|
+                                                            -- STREAM_PROJECT  |PARTITIONED|
+                                                              -- ASSIGN  |PARTITIONED|
+                                                                -- STREAM_PROJECT  |PARTITIONED|
+                                                                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                    -- DATASOURCE_SCAN  |PARTITIONED|
+                                                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                                                        -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/multi-indexes/two-rtree-intersect.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/multi-indexes/two-rtree-intersect.plan
index f4d7bba..d0946cd 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/multi-indexes/two-rtree-intersect.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/multi-indexes/two-rtree-intersect.plan
@@ -12,13 +12,14 @@
                       -- STREAM_PROJECT  |PARTITIONED|
                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                           -- RTREE_SEARCH  |PARTITIONED|
-                            -- STREAM_PROJECT  |PARTITIONED|
-                              -- ASSIGN  |PARTITIONED|
-                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                  -- REPLICATE  |PARTITIONED|
-                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
-                                      -- ASSIGN  |PARTITIONED|
-                                        -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
+                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                              -- STREAM_PROJECT  |PARTITIONED|
+                                -- ASSIGN  |PARTITIONED|
+                                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                    -- REPLICATE  |PARTITIONED|
+                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                        -- ASSIGN  |PARTITIONED|
+                                          -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
                 -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                   -- STABLE_SORT [$$33(ASC)]  |PARTITIONED|
                     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-selection/intersection-misc-01/intersection-misc-01.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-selection/intersection-misc-01/intersection-misc-01.1.ddl.sqlpp
new file mode 100644
index 0000000..22b71a5
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-selection/intersection-misc-01/intersection-misc-01.1.ddl.sqlpp
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/*
+ * Description: Test index intersection
+ */
+
+drop  dataverse test if exists;
+create  dataverse test;
+
+use test;
+
+create type test.TestType as
+{
+  id : integer
+};
+
+create  dataset c(TestType) primary key id;
+create  dataset d(TestType) primary key id;
+
+create  index idx_c5 on d(c5:bigint) type btree;
+create  index idx_c6 on d(c6:string) type btree;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-selection/intersection-misc-01/intersection-misc-01.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-selection/intersection-misc-01/intersection-misc-01.2.update.sqlpp
new file mode 100644
index 0000000..bd814d9
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-selection/intersection-misc-01/intersection-misc-01.2.update.sqlpp
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+use test;
+
+insert into c
+([
+  {"id":0, "c11":"A" },
+  {"id":1, "c11":"B" }
+]);
+
+insert into d
+([
+  {"id":0, "c1":"A", "c2":"AA", "c3":"DD", "c4":100, "c5":1, "c6":"2019-01-01" },
+  {"id":1, "c1":"A", "c2":"AA", "c3":"CC", "c4":101, "c5":1, "c6":"2019-01-02" },
+  {"id":2, "c1":"A", "c2":"AA", "c3":"CC", "c4":102, "c5":1, "c6":"2019-01-03" },
+  {"id":3, "c1":"A", "c2":"BB", "c3":"CC", "c4":103, "c5":1, "c6":"2019-01-04" },
+  {"id":4, "c1":"A", "c2":"BB", "c3":"BB", "c4":104, "c5":1, "c6":"2019-01-05" },
+  {"id":5, "c1":"A", "c2":"BB", "c3":"BB", "c4":105, "c5":1, "c6":"2019-01-06" },
+  {"id":6, "c1":"A", "c2":"CC", "c3":"BB", "c4":106, "c5":1, "c6":"2019-01-07" },
+  {"id":7, "c1":"A", "c2":"CC", "c3":"AA", "c4":107, "c5":1, "c6":"2019-01-08" },
+  {"id":8, "c1":"A", "c2":"CC", "c3":"AA", "c4":108, "c5":1, "c6":"2019-01-09" },
+  {"id":9, "c1":"A", "c2":"DD", "c3":"AA", "c4":109, "c5":1, "c6":"2019-01-10" }
+]);
+
+
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-selection/intersection-misc-01/intersection-misc-01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-selection/intersection-misc-01/intersection-misc-01.3.query.sqlpp
new file mode 100644
index 0000000..39efe73
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-selection/intersection-misc-01/intersection-misc-01.3.query.sqlpp
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/*
+ * Description: Test index intersection
+ */
+
+use test;
+
+FROM (
+ SELECT d.c3
+ FROM d
+ WHERE d.c1 IN (SELECT VALUE c.c11 FROM c)
+  AND d.c5 = 1
+) t1
+INNER JOIN
+  d t2 ON t1.c3 = t2.c2
+INNER JOIN (
+  SELECT d.c4
+  FROM d
+  WHERE d.c1 IN (SELECT VALUE c.c11 FROM c)
+    AND d.c6 BETWEEN "2019-01-01" AND "2019-02-01"
+    AND d.c5 = 1
+) t3 ON t2.c4 = t3.c4
+SELECT *
+ORDER BY t1.c3, t2.id, t3.c4;
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-selection/intersection-misc-01/intersection-misc-01.4.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-selection/intersection-misc-01/intersection-misc-01.4.query.sqlpp
new file mode 100644
index 0000000..bd541a2
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-selection/intersection-misc-01/intersection-misc-01.4.query.sqlpp
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/*
+ * Description: Same query, skip some indexes -> no intersection
+ */
+
+use test;
+
+FROM (
+ SELECT d.c3
+ FROM d
+ WHERE d.c1 IN (SELECT VALUE c.c11 FROM c)
+  AND d.c5 = 1
+) t1
+INNER JOIN
+  d t2 ON t1.c3 = t2.c2
+INNER JOIN (
+  SELECT d.c4
+  FROM d
+  WHERE d.c1 IN (SELECT VALUE c.c11 FROM c)
+    AND d.c6 /*+ skip-index */ BETWEEN "2019-01-01" AND "2019-02-01"
+    AND d.c5 = 1
+) t3 ON t2.c4 = t3.c4
+SELECT *
+ORDER BY t1.c3, t2.id, t3.c4;
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-selection/intersection-misc-01/intersection-misc-01.5.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-selection/intersection-misc-01/intersection-misc-01.5.query.sqlpp
new file mode 100644
index 0000000..b6ecb78
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-selection/intersection-misc-01/intersection-misc-01.5.query.sqlpp
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/*
+ * Description: Same query, skip some indexes -> no intersection
+ */
+
+use test;
+
+FROM (
+ SELECT d.c3
+ FROM d
+ WHERE d.c1 IN (SELECT VALUE c.c11 FROM c)
+  AND d.c5 = 1
+) t1
+INNER JOIN
+  d t2 ON t1.c3 = t2.c2
+INNER JOIN (
+  SELECT d.c4
+  FROM d
+  WHERE d.c1 IN (SELECT VALUE c.c11 FROM c)
+    AND d.c6 BETWEEN "2019-01-01" AND "2019-02-01"
+    AND d.c5 /*+ skip-index */ = 1
+) t3 ON t2.c4 = t3.c4
+SELECT *
+ORDER BY t1.c3, t2.id, t3.c4;
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-selection/intersection-misc-01/intersection-misc-01.6.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-selection/intersection-misc-01/intersection-misc-01.6.query.sqlpp
new file mode 100644
index 0000000..d4cb940
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-selection/intersection-misc-01/intersection-misc-01.6.query.sqlpp
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/*
+ * Description: Same query, skip some indexes -> no intersection
+ */
+
+use test;
+
+FROM (
+ SELECT d.c3
+ FROM d
+ WHERE d.c1 IN (SELECT VALUE c.c11 FROM c)
+  AND d.c5 /*+ skip-index */ = 1
+) t1
+INNER JOIN
+  d t2 ON t1.c3 = t2.c2
+INNER JOIN (
+  SELECT d.c4
+  FROM d
+  WHERE d.c1 IN (SELECT VALUE c.c11 FROM c)
+    AND d.c6 /*+ skip-index */ BETWEEN "2019-01-01" AND "2019-02-01"
+    AND d.c5 /*+ skip-index */ = 1
+) t3 ON t2.c4 = t3.c4
+SELECT *
+ORDER BY t1.c3, t2.id, t3.c4;
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/index-selection/intersection-misc-01/intersection-misc-01.3.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/index-selection/intersection-misc-01/intersection-misc-01.3.adm
new file mode 100644
index 0000000..90e2311
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/index-selection/intersection-misc-01/intersection-misc-01.3.adm
@@ -0,0 +1,28 @@
+{ "t1": { "c3": "AA" }, "t2": { "id": 0, "c1": "A", "c2": "AA", "c3": "DD", "c4": 100, "c5": 1, "c6": "2019-01-01" }, "t3": { "c4": 100 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 0, "c1": "A", "c2": "AA", "c3": "DD", "c4": 100, "c5": 1, "c6": "2019-01-01" }, "t3": { "c4": 100 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 0, "c1": "A", "c2": "AA", "c3": "DD", "c4": 100, "c5": 1, "c6": "2019-01-01" }, "t3": { "c4": 100 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 1, "c1": "A", "c2": "AA", "c3": "CC", "c4": 101, "c5": 1, "c6": "2019-01-02" }, "t3": { "c4": 101 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 1, "c1": "A", "c2": "AA", "c3": "CC", "c4": 101, "c5": 1, "c6": "2019-01-02" }, "t3": { "c4": 101 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 1, "c1": "A", "c2": "AA", "c3": "CC", "c4": 101, "c5": 1, "c6": "2019-01-02" }, "t3": { "c4": 101 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 2, "c1": "A", "c2": "AA", "c3": "CC", "c4": 102, "c5": 1, "c6": "2019-01-03" }, "t3": { "c4": 102 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 2, "c1": "A", "c2": "AA", "c3": "CC", "c4": 102, "c5": 1, "c6": "2019-01-03" }, "t3": { "c4": 102 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 2, "c1": "A", "c2": "AA", "c3": "CC", "c4": 102, "c5": 1, "c6": "2019-01-03" }, "t3": { "c4": 102 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 3, "c1": "A", "c2": "BB", "c3": "CC", "c4": 103, "c5": 1, "c6": "2019-01-04" }, "t3": { "c4": 103 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 3, "c1": "A", "c2": "BB", "c3": "CC", "c4": 103, "c5": 1, "c6": "2019-01-04" }, "t3": { "c4": 103 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 3, "c1": "A", "c2": "BB", "c3": "CC", "c4": 103, "c5": 1, "c6": "2019-01-04" }, "t3": { "c4": 103 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 4, "c1": "A", "c2": "BB", "c3": "BB", "c4": 104, "c5": 1, "c6": "2019-01-05" }, "t3": { "c4": 104 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 4, "c1": "A", "c2": "BB", "c3": "BB", "c4": 104, "c5": 1, "c6": "2019-01-05" }, "t3": { "c4": 104 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 4, "c1": "A", "c2": "BB", "c3": "BB", "c4": 104, "c5": 1, "c6": "2019-01-05" }, "t3": { "c4": 104 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 5, "c1": "A", "c2": "BB", "c3": "BB", "c4": 105, "c5": 1, "c6": "2019-01-06" }, "t3": { "c4": 105 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 5, "c1": "A", "c2": "BB", "c3": "BB", "c4": 105, "c5": 1, "c6": "2019-01-06" }, "t3": { "c4": 105 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 5, "c1": "A", "c2": "BB", "c3": "BB", "c4": 105, "c5": 1, "c6": "2019-01-06" }, "t3": { "c4": 105 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 6, "c1": "A", "c2": "CC", "c3": "BB", "c4": 106, "c5": 1, "c6": "2019-01-07" }, "t3": { "c4": 106 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 6, "c1": "A", "c2": "CC", "c3": "BB", "c4": 106, "c5": 1, "c6": "2019-01-07" }, "t3": { "c4": 106 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 6, "c1": "A", "c2": "CC", "c3": "BB", "c4": 106, "c5": 1, "c6": "2019-01-07" }, "t3": { "c4": 106 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 7, "c1": "A", "c2": "CC", "c3": "AA", "c4": 107, "c5": 1, "c6": "2019-01-08" }, "t3": { "c4": 107 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 7, "c1": "A", "c2": "CC", "c3": "AA", "c4": 107, "c5": 1, "c6": "2019-01-08" }, "t3": { "c4": 107 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 7, "c1": "A", "c2": "CC", "c3": "AA", "c4": 107, "c5": 1, "c6": "2019-01-08" }, "t3": { "c4": 107 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 8, "c1": "A", "c2": "CC", "c3": "AA", "c4": 108, "c5": 1, "c6": "2019-01-09" }, "t3": { "c4": 108 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 8, "c1": "A", "c2": "CC", "c3": "AA", "c4": 108, "c5": 1, "c6": "2019-01-09" }, "t3": { "c4": 108 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 8, "c1": "A", "c2": "CC", "c3": "AA", "c4": 108, "c5": 1, "c6": "2019-01-09" }, "t3": { "c4": 108 } }
+{ "t1": { "c3": "DD" }, "t2": { "id": 9, "c1": "A", "c2": "DD", "c3": "AA", "c4": 109, "c5": 1, "c6": "2019-01-10" }, "t3": { "c4": 109 } }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/index-selection/intersection-misc-01/intersection-misc-01.4.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/index-selection/intersection-misc-01/intersection-misc-01.4.adm
new file mode 100644
index 0000000..90e2311
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/index-selection/intersection-misc-01/intersection-misc-01.4.adm
@@ -0,0 +1,28 @@
+{ "t1": { "c3": "AA" }, "t2": { "id": 0, "c1": "A", "c2": "AA", "c3": "DD", "c4": 100, "c5": 1, "c6": "2019-01-01" }, "t3": { "c4": 100 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 0, "c1": "A", "c2": "AA", "c3": "DD", "c4": 100, "c5": 1, "c6": "2019-01-01" }, "t3": { "c4": 100 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 0, "c1": "A", "c2": "AA", "c3": "DD", "c4": 100, "c5": 1, "c6": "2019-01-01" }, "t3": { "c4": 100 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 1, "c1": "A", "c2": "AA", "c3": "CC", "c4": 101, "c5": 1, "c6": "2019-01-02" }, "t3": { "c4": 101 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 1, "c1": "A", "c2": "AA", "c3": "CC", "c4": 101, "c5": 1, "c6": "2019-01-02" }, "t3": { "c4": 101 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 1, "c1": "A", "c2": "AA", "c3": "CC", "c4": 101, "c5": 1, "c6": "2019-01-02" }, "t3": { "c4": 101 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 2, "c1": "A", "c2": "AA", "c3": "CC", "c4": 102, "c5": 1, "c6": "2019-01-03" }, "t3": { "c4": 102 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 2, "c1": "A", "c2": "AA", "c3": "CC", "c4": 102, "c5": 1, "c6": "2019-01-03" }, "t3": { "c4": 102 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 2, "c1": "A", "c2": "AA", "c3": "CC", "c4": 102, "c5": 1, "c6": "2019-01-03" }, "t3": { "c4": 102 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 3, "c1": "A", "c2": "BB", "c3": "CC", "c4": 103, "c5": 1, "c6": "2019-01-04" }, "t3": { "c4": 103 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 3, "c1": "A", "c2": "BB", "c3": "CC", "c4": 103, "c5": 1, "c6": "2019-01-04" }, "t3": { "c4": 103 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 3, "c1": "A", "c2": "BB", "c3": "CC", "c4": 103, "c5": 1, "c6": "2019-01-04" }, "t3": { "c4": 103 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 4, "c1": "A", "c2": "BB", "c3": "BB", "c4": 104, "c5": 1, "c6": "2019-01-05" }, "t3": { "c4": 104 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 4, "c1": "A", "c2": "BB", "c3": "BB", "c4": 104, "c5": 1, "c6": "2019-01-05" }, "t3": { "c4": 104 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 4, "c1": "A", "c2": "BB", "c3": "BB", "c4": 104, "c5": 1, "c6": "2019-01-05" }, "t3": { "c4": 104 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 5, "c1": "A", "c2": "BB", "c3": "BB", "c4": 105, "c5": 1, "c6": "2019-01-06" }, "t3": { "c4": 105 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 5, "c1": "A", "c2": "BB", "c3": "BB", "c4": 105, "c5": 1, "c6": "2019-01-06" }, "t3": { "c4": 105 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 5, "c1": "A", "c2": "BB", "c3": "BB", "c4": 105, "c5": 1, "c6": "2019-01-06" }, "t3": { "c4": 105 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 6, "c1": "A", "c2": "CC", "c3": "BB", "c4": 106, "c5": 1, "c6": "2019-01-07" }, "t3": { "c4": 106 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 6, "c1": "A", "c2": "CC", "c3": "BB", "c4": 106, "c5": 1, "c6": "2019-01-07" }, "t3": { "c4": 106 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 6, "c1": "A", "c2": "CC", "c3": "BB", "c4": 106, "c5": 1, "c6": "2019-01-07" }, "t3": { "c4": 106 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 7, "c1": "A", "c2": "CC", "c3": "AA", "c4": 107, "c5": 1, "c6": "2019-01-08" }, "t3": { "c4": 107 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 7, "c1": "A", "c2": "CC", "c3": "AA", "c4": 107, "c5": 1, "c6": "2019-01-08" }, "t3": { "c4": 107 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 7, "c1": "A", "c2": "CC", "c3": "AA", "c4": 107, "c5": 1, "c6": "2019-01-08" }, "t3": { "c4": 107 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 8, "c1": "A", "c2": "CC", "c3": "AA", "c4": 108, "c5": 1, "c6": "2019-01-09" }, "t3": { "c4": 108 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 8, "c1": "A", "c2": "CC", "c3": "AA", "c4": 108, "c5": 1, "c6": "2019-01-09" }, "t3": { "c4": 108 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 8, "c1": "A", "c2": "CC", "c3": "AA", "c4": 108, "c5": 1, "c6": "2019-01-09" }, "t3": { "c4": 108 } }
+{ "t1": { "c3": "DD" }, "t2": { "id": 9, "c1": "A", "c2": "DD", "c3": "AA", "c4": 109, "c5": 1, "c6": "2019-01-10" }, "t3": { "c4": 109 } }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/index-selection/intersection-misc-01/intersection-misc-01.5.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/index-selection/intersection-misc-01/intersection-misc-01.5.adm
new file mode 100644
index 0000000..90e2311
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/index-selection/intersection-misc-01/intersection-misc-01.5.adm
@@ -0,0 +1,28 @@
+{ "t1": { "c3": "AA" }, "t2": { "id": 0, "c1": "A", "c2": "AA", "c3": "DD", "c4": 100, "c5": 1, "c6": "2019-01-01" }, "t3": { "c4": 100 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 0, "c1": "A", "c2": "AA", "c3": "DD", "c4": 100, "c5": 1, "c6": "2019-01-01" }, "t3": { "c4": 100 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 0, "c1": "A", "c2": "AA", "c3": "DD", "c4": 100, "c5": 1, "c6": "2019-01-01" }, "t3": { "c4": 100 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 1, "c1": "A", "c2": "AA", "c3": "CC", "c4": 101, "c5": 1, "c6": "2019-01-02" }, "t3": { "c4": 101 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 1, "c1": "A", "c2": "AA", "c3": "CC", "c4": 101, "c5": 1, "c6": "2019-01-02" }, "t3": { "c4": 101 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 1, "c1": "A", "c2": "AA", "c3": "CC", "c4": 101, "c5": 1, "c6": "2019-01-02" }, "t3": { "c4": 101 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 2, "c1": "A", "c2": "AA", "c3": "CC", "c4": 102, "c5": 1, "c6": "2019-01-03" }, "t3": { "c4": 102 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 2, "c1": "A", "c2": "AA", "c3": "CC", "c4": 102, "c5": 1, "c6": "2019-01-03" }, "t3": { "c4": 102 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 2, "c1": "A", "c2": "AA", "c3": "CC", "c4": 102, "c5": 1, "c6": "2019-01-03" }, "t3": { "c4": 102 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 3, "c1": "A", "c2": "BB", "c3": "CC", "c4": 103, "c5": 1, "c6": "2019-01-04" }, "t3": { "c4": 103 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 3, "c1": "A", "c2": "BB", "c3": "CC", "c4": 103, "c5": 1, "c6": "2019-01-04" }, "t3": { "c4": 103 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 3, "c1": "A", "c2": "BB", "c3": "CC", "c4": 103, "c5": 1, "c6": "2019-01-04" }, "t3": { "c4": 103 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 4, "c1": "A", "c2": "BB", "c3": "BB", "c4": 104, "c5": 1, "c6": "2019-01-05" }, "t3": { "c4": 104 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 4, "c1": "A", "c2": "BB", "c3": "BB", "c4": 104, "c5": 1, "c6": "2019-01-05" }, "t3": { "c4": 104 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 4, "c1": "A", "c2": "BB", "c3": "BB", "c4": 104, "c5": 1, "c6": "2019-01-05" }, "t3": { "c4": 104 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 5, "c1": "A", "c2": "BB", "c3": "BB", "c4": 105, "c5": 1, "c6": "2019-01-06" }, "t3": { "c4": 105 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 5, "c1": "A", "c2": "BB", "c3": "BB", "c4": 105, "c5": 1, "c6": "2019-01-06" }, "t3": { "c4": 105 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 5, "c1": "A", "c2": "BB", "c3": "BB", "c4": 105, "c5": 1, "c6": "2019-01-06" }, "t3": { "c4": 105 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 6, "c1": "A", "c2": "CC", "c3": "BB", "c4": 106, "c5": 1, "c6": "2019-01-07" }, "t3": { "c4": 106 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 6, "c1": "A", "c2": "CC", "c3": "BB", "c4": 106, "c5": 1, "c6": "2019-01-07" }, "t3": { "c4": 106 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 6, "c1": "A", "c2": "CC", "c3": "BB", "c4": 106, "c5": 1, "c6": "2019-01-07" }, "t3": { "c4": 106 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 7, "c1": "A", "c2": "CC", "c3": "AA", "c4": 107, "c5": 1, "c6": "2019-01-08" }, "t3": { "c4": 107 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 7, "c1": "A", "c2": "CC", "c3": "AA", "c4": 107, "c5": 1, "c6": "2019-01-08" }, "t3": { "c4": 107 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 7, "c1": "A", "c2": "CC", "c3": "AA", "c4": 107, "c5": 1, "c6": "2019-01-08" }, "t3": { "c4": 107 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 8, "c1": "A", "c2": "CC", "c3": "AA", "c4": 108, "c5": 1, "c6": "2019-01-09" }, "t3": { "c4": 108 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 8, "c1": "A", "c2": "CC", "c3": "AA", "c4": 108, "c5": 1, "c6": "2019-01-09" }, "t3": { "c4": 108 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 8, "c1": "A", "c2": "CC", "c3": "AA", "c4": 108, "c5": 1, "c6": "2019-01-09" }, "t3": { "c4": 108 } }
+{ "t1": { "c3": "DD" }, "t2": { "id": 9, "c1": "A", "c2": "DD", "c3": "AA", "c4": 109, "c5": 1, "c6": "2019-01-10" }, "t3": { "c4": 109 } }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/index-selection/intersection-misc-01/intersection-misc-01.6.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/index-selection/intersection-misc-01/intersection-misc-01.6.adm
new file mode 100644
index 0000000..90e2311
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/index-selection/intersection-misc-01/intersection-misc-01.6.adm
@@ -0,0 +1,28 @@
+{ "t1": { "c3": "AA" }, "t2": { "id": 0, "c1": "A", "c2": "AA", "c3": "DD", "c4": 100, "c5": 1, "c6": "2019-01-01" }, "t3": { "c4": 100 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 0, "c1": "A", "c2": "AA", "c3": "DD", "c4": 100, "c5": 1, "c6": "2019-01-01" }, "t3": { "c4": 100 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 0, "c1": "A", "c2": "AA", "c3": "DD", "c4": 100, "c5": 1, "c6": "2019-01-01" }, "t3": { "c4": 100 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 1, "c1": "A", "c2": "AA", "c3": "CC", "c4": 101, "c5": 1, "c6": "2019-01-02" }, "t3": { "c4": 101 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 1, "c1": "A", "c2": "AA", "c3": "CC", "c4": 101, "c5": 1, "c6": "2019-01-02" }, "t3": { "c4": 101 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 1, "c1": "A", "c2": "AA", "c3": "CC", "c4": 101, "c5": 1, "c6": "2019-01-02" }, "t3": { "c4": 101 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 2, "c1": "A", "c2": "AA", "c3": "CC", "c4": 102, "c5": 1, "c6": "2019-01-03" }, "t3": { "c4": 102 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 2, "c1": "A", "c2": "AA", "c3": "CC", "c4": 102, "c5": 1, "c6": "2019-01-03" }, "t3": { "c4": 102 } }
+{ "t1": { "c3": "AA" }, "t2": { "id": 2, "c1": "A", "c2": "AA", "c3": "CC", "c4": 102, "c5": 1, "c6": "2019-01-03" }, "t3": { "c4": 102 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 3, "c1": "A", "c2": "BB", "c3": "CC", "c4": 103, "c5": 1, "c6": "2019-01-04" }, "t3": { "c4": 103 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 3, "c1": "A", "c2": "BB", "c3": "CC", "c4": 103, "c5": 1, "c6": "2019-01-04" }, "t3": { "c4": 103 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 3, "c1": "A", "c2": "BB", "c3": "CC", "c4": 103, "c5": 1, "c6": "2019-01-04" }, "t3": { "c4": 103 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 4, "c1": "A", "c2": "BB", "c3": "BB", "c4": 104, "c5": 1, "c6": "2019-01-05" }, "t3": { "c4": 104 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 4, "c1": "A", "c2": "BB", "c3": "BB", "c4": 104, "c5": 1, "c6": "2019-01-05" }, "t3": { "c4": 104 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 4, "c1": "A", "c2": "BB", "c3": "BB", "c4": 104, "c5": 1, "c6": "2019-01-05" }, "t3": { "c4": 104 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 5, "c1": "A", "c2": "BB", "c3": "BB", "c4": 105, "c5": 1, "c6": "2019-01-06" }, "t3": { "c4": 105 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 5, "c1": "A", "c2": "BB", "c3": "BB", "c4": 105, "c5": 1, "c6": "2019-01-06" }, "t3": { "c4": 105 } }
+{ "t1": { "c3": "BB" }, "t2": { "id": 5, "c1": "A", "c2": "BB", "c3": "BB", "c4": 105, "c5": 1, "c6": "2019-01-06" }, "t3": { "c4": 105 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 6, "c1": "A", "c2": "CC", "c3": "BB", "c4": 106, "c5": 1, "c6": "2019-01-07" }, "t3": { "c4": 106 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 6, "c1": "A", "c2": "CC", "c3": "BB", "c4": 106, "c5": 1, "c6": "2019-01-07" }, "t3": { "c4": 106 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 6, "c1": "A", "c2": "CC", "c3": "BB", "c4": 106, "c5": 1, "c6": "2019-01-07" }, "t3": { "c4": 106 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 7, "c1": "A", "c2": "CC", "c3": "AA", "c4": 107, "c5": 1, "c6": "2019-01-08" }, "t3": { "c4": 107 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 7, "c1": "A", "c2": "CC", "c3": "AA", "c4": 107, "c5": 1, "c6": "2019-01-08" }, "t3": { "c4": 107 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 7, "c1": "A", "c2": "CC", "c3": "AA", "c4": 107, "c5": 1, "c6": "2019-01-08" }, "t3": { "c4": 107 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 8, "c1": "A", "c2": "CC", "c3": "AA", "c4": 108, "c5": 1, "c6": "2019-01-09" }, "t3": { "c4": 108 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 8, "c1": "A", "c2": "CC", "c3": "AA", "c4": 108, "c5": 1, "c6": "2019-01-09" }, "t3": { "c4": 108 } }
+{ "t1": { "c3": "CC" }, "t2": { "id": 8, "c1": "A", "c2": "CC", "c3": "AA", "c4": 108, "c5": 1, "c6": "2019-01-09" }, "t3": { "c4": 108 } }
+{ "t1": { "c3": "DD" }, "t2": { "id": 9, "c1": "A", "c2": "DD", "c3": "AA", "c4": 109, "c5": 1, "c6": "2019-01-10" }, "t3": { "c4": 109 } }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
index 7191d03..349da99 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
@@ -5259,6 +5259,11 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="index-selection">
+      <compilation-unit name="intersection-misc-01">
+        <output-dir compare="Text">intersection-misc-01</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="index-selection">
       <compilation-unit name="intersection-with-between">
         <output-dir compare="Text">intersection-with-between</output-dir>
       </compilation-unit>
diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/IntersectOperator.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/IntersectOperator.java
index c2e4541..4af2d86 100644
--- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/IntersectOperator.java
+++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/IntersectOperator.java
@@ -110,23 +110,25 @@
     public IVariableTypeEnvironment computeOutputTypeEnvironment(ITypingContext ctx) throws AlgebricksException {
         IVariableTypeEnvironment typeEnv = ctx.getOutputTypeEnvironment(inputs.get(0).getValue());
 
+        List<LogicalVariable> compareVars0 = compareVars.get(0);
         for (int i = 1; i < inputs.size(); i++) {
-            checkTypeConsistency(typeEnv, compareVars.get(0), ctx.getOutputTypeEnvironment(inputs.get(i).getValue()),
+            checkTypeConsistency(typeEnv, compareVars0, ctx.getOutputTypeEnvironment(inputs.get(i).getValue()),
                     compareVars.get(i));
         }
 
         IVariableTypeEnvironment env =
                 new NonPropagatingTypeEnvironment(ctx.getExpressionTypeComputer(), ctx.getMetadataProvider());
         int i = 0;
-        for (; i < compareVars.get(0).size(); i++) {
-            env.setVarType(outputVars.get(i), typeEnv.getVarType(compareVars.get(0).get(i)));
+        for (; i < compareVars0.size(); i++) {
+            env.setVarType(outputVars.get(i), typeEnv.getVarType(compareVars0.get(i)));
         }
         if (extraVars != null) {
-            for (int k = 0; k < extraVars.get(0).size(); k++) {
-                env.setVarType(outputVars.get(i + k), typeEnv.getVarType(extraVars.get(0).get(k)));
+            List<LogicalVariable> extraVars0 = extraVars.get(0);
+            for (int k = 0; k < extraVars0.size(); k++) {
+                env.setVarType(outputVars.get(i + k), typeEnv.getVarType(extraVars0.get(k)));
             }
         }
-        return typeEnv;
+        return env;
     }
 
     public List<LogicalVariable> getOutputVars() {
diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
index 1d64ad0..33e1bfa 100644
--- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
+++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
@@ -209,12 +209,18 @@
 
     @Override
     public ILogicalOperator visitIntersectOperator(IntersectOperator op, Void arg) throws AlgebricksException {
-        List<LogicalVariable> outputVar = new ArrayList<>(op.getOutputVars());
-        List<List<LogicalVariable>> inputVars = new ArrayList<>(op.getNumInput());
-        for (int i = 0; i < op.getNumInput(); i++) {
-            inputVars.add(new ArrayList<>(op.getInputVariables(i)));
+        List<LogicalVariable> newOutputVars = new ArrayList<>(op.getOutputVars());
+        int numInput = op.getNumInput();
+        List<List<LogicalVariable>> newCompareVars = new ArrayList<>(numInput);
+        List<List<LogicalVariable>> extraVars = op.getExtraVariables();
+        List<List<LogicalVariable>> newExtraVars = extraVars != null ? new ArrayList<>(numInput) : null;
+        for (int i = 0; i < numInput; i++) {
+            newCompareVars.add(new ArrayList<>(op.getCompareVariables(i)));
+            if (extraVars != null) {
+                newExtraVars.add(new ArrayList<>(extraVars.get(i)));
+            }
         }
-        return new IntersectOperator(outputVar, inputVars);
+        return new IntersectOperator(newOutputVars, newCompareVars, newExtraVars);
     }
 
     @Override
diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/IntersectPOperator.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/IntersectPOperator.java
index 544c546..d484fdf 100644
--- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/IntersectPOperator.java
+++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/IntersectPOperator.java
@@ -31,6 +31,7 @@
 import org.apache.hyracks.algebricks.core.algebra.base.IOptimizationContext;
 import org.apache.hyracks.algebricks.core.algebra.base.LogicalVariable;
 import org.apache.hyracks.algebricks.core.algebra.base.PhysicalOperatorTag;
+import org.apache.hyracks.algebricks.core.algebra.expressions.IVariableTypeEnvironment;
 import org.apache.hyracks.algebricks.core.algebra.operators.logical.AbstractLogicalOperator;
 import org.apache.hyracks.algebricks.core.algebra.operators.logical.IOperatorSchema;
 import org.apache.hyracks.algebricks.core.algebra.operators.logical.IntersectOperator;
@@ -114,14 +115,15 @@
         int nInput = logicalOp.getNumInput();
         int[][] compareFields = new int[nInput][];
 
-        IBinaryComparatorFactory[] comparatorFactories = JobGenHelper.variablesToAscBinaryComparatorFactories(
-                logicalOp.getCompareVariables(0), context.getTypeEnvironment(op), context);
+        List<LogicalVariable> compareVars0 = logicalOp.getCompareVariables(0);
+        IVariableTypeEnvironment inputTypeEnv0 = context.getTypeEnvironment(logicalOp.getInputs().get(0).getValue());
+        IBinaryComparatorFactory[] comparatorFactories =
+                JobGenHelper.variablesToAscBinaryComparatorFactories(compareVars0, inputTypeEnv0, context);
 
         INormalizedKeyComputerFactoryProvider nkcfProvider = context.getNormalizedKeyComputerFactoryProvider();
         INormalizedKeyComputerFactory nkcf = null;
-
         if (nkcfProvider != null) {
-            Object type = context.getTypeEnvironment(op).getVarType(logicalOp.getCompareVariables(0).get(0));
+            Object type = inputTypeEnv0.getVarType(compareVars0.get(0));
             if (type != null) {
                 nkcf = nkcfProvider.getNormalizedKeyComputerFactory(type, true);
             }
diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
index 7b49117..2dd55c1 100644
--- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
+++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
@@ -271,6 +271,22 @@
                 }
                 buffer.append(str(op.getInputVariables(i).get(j)));
             }
+            buffer.append("] cmp [");
+            for (int j = 0; j < op.getCompareVariables(i).size(); j++) {
+                if (j > 0) {
+                    buffer.append(", ");
+                }
+                buffer.append(str(op.getCompareVariables(i).get(j)));
+            }
+            if (op.getExtraVariables() != null) {
+                buffer.append("] ext [");
+                for (int j = 0; j < op.getExtraVariables().get(i).size(); j++) {
+                    if (j > 0) {
+                        buffer.append(", ");
+                    }
+                    buffer.append(str(op.getExtraVariables().get(i).get(j)));
+                }
+            }
             buffer.append(']');
         }
         buffer.append("])");
diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/HeuristicOptimizer.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/HeuristicOptimizer.java
index 64b3f00..426e9fb 100644
--- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/HeuristicOptimizer.java
+++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/HeuristicOptimizer.java
@@ -43,13 +43,6 @@
     private final List<Pair<AbstractRuleController, List<IAlgebraicRewriteRule>>> physicalRewrites;
     private final ILogicalPlan plan;
 
-    private static final PhysicalOperatorTag[] hyracksOperators =
-            new PhysicalOperatorTag[] { PhysicalOperatorTag.DATASOURCE_SCAN, PhysicalOperatorTag.BTREE_SEARCH,
-                    PhysicalOperatorTag.EXTERNAL_GROUP_BY, PhysicalOperatorTag.HDFS_READER,
-                    PhysicalOperatorTag.HYBRID_HASH_JOIN, PhysicalOperatorTag.IN_MEMORY_HASH_JOIN,
-                    PhysicalOperatorTag.NESTED_LOOP, PhysicalOperatorTag.PRE_SORTED_DISTINCT_BY,
-                    PhysicalOperatorTag.PRE_CLUSTERED_GROUP_BY, PhysicalOperatorTag.REPLICATE,
-                    PhysicalOperatorTag.STABLE_SORT, PhysicalOperatorTag.UNION_ALL, PhysicalOperatorTag.FORWARD };
     public static final PhysicalOperatorTag[] hyraxOperatorsBelowWhichJobGenIsDisabled = new PhysicalOperatorTag[] {};
 
     public HeuristicOptimizer(ILogicalPlan plan,
@@ -62,15 +55,6 @@
         this.physicalRewrites = physicalRewrites;
     }
 
-    public static boolean isHyracksOp(PhysicalOperatorTag opTag) {
-        for (PhysicalOperatorTag t : hyracksOperators) {
-            if (t == opTag) {
-                return true;
-            }
-        }
-        return false;
-    }
-
     public void optimize() throws AlgebricksException {
         if (plan == null) {
             return;
diff --git a/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/ExtractCommonOperatorsRule.java b/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/ExtractCommonOperatorsRule.java
index 166114a..176ab7a 100644
--- a/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/ExtractCommonOperatorsRule.java
+++ b/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/ExtractCommonOperatorsRule.java
@@ -48,7 +48,6 @@
 import org.apache.hyracks.algebricks.core.algebra.operators.physical.OneToOneExchangePOperator;
 import org.apache.hyracks.algebricks.core.algebra.operators.physical.ReplicatePOperator;
 import org.apache.hyracks.algebricks.core.algebra.operators.physical.StreamProjectPOperator;
-import org.apache.hyracks.algebricks.core.rewriter.base.HeuristicOptimizer;
 import org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule;
 import org.apache.hyracks.api.exceptions.SourceLocation;
 
@@ -259,7 +258,8 @@
                     int index = parentOp.getInputs().indexOf(ref);
                     ILogicalOperator childOp =
                             parentOp.getOperatorTag() == LogicalOperatorTag.PROJECT ? assignOperator : projectOperator;
-                    if (!HeuristicOptimizer.isHyracksOp(parentOp.getPhysicalOperator().getOperatorTag())) {
+                    if (parentOp.getPhysicalOperator().isMicroOperator()
+                            || parentOp.getOperatorTag() == LogicalOperatorTag.EXCHANGE) {
                         parentOp.getInputs().set(index, new MutableObject<ILogicalOperator>(childOp));
                     } else {
                         // If the parent operator is a hyracks operator,
