You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by ti...@apache.org on 2018/07/31 22:47:29 UTC

[drill] 01/01: DRILL-6617: Changing name of implicit RowId column from implicitColumn to implicitRIDColumn.

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

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

commit 8f9d39763cc5da8c3b5e9e8ae8a93fc3ffce2e9e
Author: Hanumath Rao Maduri <ha...@gmail.com>
AuthorDate: Sun Jul 29 12:29:25 2018 -0700

    DRILL-6617: Changing name of implicit RowId column from implicitColumn to implicitRIDColumn.
    
    closes #1401
---
 .../org/apache/drill/exec/store/jdbc/JdbcPrel.java |  6 ----
 .../drill/exec/physical/config/LateralJoinPOP.java | 14 ++++-----
 .../exec/physical/impl/join/LateralJoinBatch.java  |  2 +-
 .../drill/exec/planner/common/DrillRelOptUtil.java | 15 ++++++++++
 .../exec/planner/physical/ComplexToJsonPrel.java   |  5 ----
 .../drill/exec/planner/physical/FilterPrel.java    | 14 ++-------
 .../drill/exec/planner/physical/JoinPrel.java      |  4 ---
 .../exec/planner/physical/LateralJoinPrel.java     |  5 ----
 .../apache/drill/exec/planner/physical/Prel.java   |  5 +++-
 .../planner/physical/ProducerConsumerPrel.java     |  5 ----
 .../drill/exec/planner/physical/ProjectPrel.java   | 14 ++-------
 .../drill/exec/planner/physical/ScanPrel.java      |  5 ----
 .../drill/exec/planner/physical/ScreenPrel.java    |  5 ----
 .../drill/exec/planner/physical/SinglePrel.java    |  6 ----
 .../drill/exec/planner/physical/UnionPrel.java     |  5 ----
 .../drill/exec/planner/physical/ValuesPrel.java    |  5 ----
 .../drill/exec/planner/physical/WindowPrel.java    |  5 ----
 .../drill/exec/planner/physical/WriterPrel.java    |  5 ----
 .../impl/join/TestLateralJoinCorrectness.java      | 34 +++++++++++-----------
 .../TestLateralJoinCorrectnessBatchProcessing.java |  2 +-
 .../impl/lateraljoin/TestLateralPlans.java         | 10 -------
 21 files changed, 51 insertions(+), 120 deletions(-)

diff --git a/contrib/storage-jdbc/src/main/java/org/apache/drill/exec/store/jdbc/JdbcPrel.java b/contrib/storage-jdbc/src/main/java/org/apache/drill/exec/store/jdbc/JdbcPrel.java
index a170839..8221367 100644
--- a/contrib/storage-jdbc/src/main/java/org/apache/drill/exec/store/jdbc/JdbcPrel.java
+++ b/contrib/storage-jdbc/src/main/java/org/apache/drill/exec/store/jdbc/JdbcPrel.java
@@ -20,7 +20,6 @@ package org.apache.drill.exec.store.jdbc;
 import java.io.IOException;
 import java.util.Collections;
 import java.util.Iterator;
-import java.util.List;
 
 import org.apache.calcite.adapter.java.JavaTypeFactory;
 import org.apache.calcite.adapter.jdbc.JdbcImplementor;
@@ -132,9 +131,4 @@ public class JdbcPrel extends AbstractRelNode implements Prel {
     return false;
   }
 
-  @Override
-  public Prel addImplicitRowIDCol(List<RelNode> children) {
-    throw new UnsupportedOperationException("Adding Implicit RowID column is not supported for " +
-                                            this.getClass().getSimpleName() + " operator ");
-  }
 }
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/config/LateralJoinPOP.java b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/config/LateralJoinPOP.java
index 8672ad4..5d61509 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/config/LateralJoinPOP.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/config/LateralJoinPOP.java
@@ -38,8 +38,8 @@ public class LateralJoinPOP extends AbstractJoinPop {
   @JsonProperty("excludedColumns")
   private List<SchemaPath> excludedColumns;
 
-  @JsonProperty("implicitColumn")
-  private String implicitColumn;
+  @JsonProperty("implicitRIDColumn")
+  private String implicitRIDColumn;
 
   @JsonProperty("unnestForLateralJoin")
   private UnnestPOP unnestForLateralJoin;
@@ -49,7 +49,7 @@ public class LateralJoinPOP extends AbstractJoinPop {
       @JsonProperty("left") PhysicalOperator left,
       @JsonProperty("right") PhysicalOperator right,
       @JsonProperty("joinType") JoinRelType joinType,
-      @JsonProperty("implicitColumn") String implicitColumn,
+      @JsonProperty("implicitRIDColumn") String implicitRIDColumn,
       @JsonProperty("excludedColumns") List<SchemaPath> excludedColumns) {
     super(left, right, joinType, null, null);
     Preconditions.checkArgument(joinType != JoinRelType.FULL,
@@ -57,14 +57,14 @@ public class LateralJoinPOP extends AbstractJoinPop {
     Preconditions.checkArgument(joinType != JoinRelType.RIGHT,
       "Right join is currently not supported with Lateral Join");
     this.excludedColumns = excludedColumns;
-    this.implicitColumn = implicitColumn;
+    this.implicitRIDColumn = implicitRIDColumn;
   }
 
   @Override
   public PhysicalOperator getNewWithChildren(List<PhysicalOperator> children) {
     Preconditions.checkArgument(children.size() == 2,
       "Lateral join should have two physical operators");
-    LateralJoinPOP newPOP =  new LateralJoinPOP(children.get(0), children.get(1), joinType, this.implicitColumn, this.excludedColumns);
+    LateralJoinPOP newPOP =  new LateralJoinPOP(children.get(0), children.get(1), joinType, this.implicitRIDColumn, this.excludedColumns);
     newPOP.unnestForLateralJoin = this.unnestForLateralJoin;
     return newPOP;
   }
@@ -83,8 +83,8 @@ public class LateralJoinPOP extends AbstractJoinPop {
     this.unnestForLateralJoin = unnest;
   }
 
-  @JsonProperty("implicitColumn")
-  public String getImplicitColumn() { return this.implicitColumn; }
+  @JsonProperty("implicitRIDColumn")
+  public String getImplicitRIDColumn() { return this.implicitRIDColumn; }
 
   @Override
   public int getOperatorType() {
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/LateralJoinBatch.java b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/LateralJoinBatch.java
index c80d333..18843b5 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/LateralJoinBatch.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/LateralJoinBatch.java
@@ -113,7 +113,7 @@ public class LateralJoinBatch extends AbstractBinaryRecordBatch<LateralJoinPOP>
     Preconditions.checkNotNull(left);
     Preconditions.checkNotNull(right);
     final int configOutputBatchSize = (int) context.getOptions().getOption(ExecConstants.OUTPUT_BATCH_SIZE_VALIDATOR);
-    implicitColumn = popConfig.getImplicitColumn();
+    implicitColumn = popConfig.getImplicitRIDColumn();
 
     populateExcludedField(popConfig);
     batchMemoryManager = new JoinBatchMemoryManager(configOutputBatchSize, left, right, excludedFieldNames);
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/common/DrillRelOptUtil.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/common/DrillRelOptUtil.java
index 5648000..4ef539a 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/common/DrillRelOptUtil.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/common/DrillRelOptUtil.java
@@ -20,6 +20,7 @@ package org.apache.drill.exec.planner.common;
 import java.util.AbstractList;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -320,6 +321,20 @@ public abstract class DrillRelOptUtil {
   }
 
   /**
+   * For a given row type return a map between old field indices and one index right shifted fields.
+   * @param rowType : row type to be right shifted.
+   * @return map: hash map between old and new indices
+   */
+  public static Map<Integer, Integer> rightShiftColsInRowType(RelDataType rowType) {
+    Map<Integer, Integer> map = new HashMap<>();
+    int fieldCount = rowType.getFieldCount();
+    for (int i = 0; i< fieldCount; i++) {
+      map.put(i, i+1);
+    }
+    return map;
+  }
+
+  /**
    * Given a list of rexnodes it transforms the rexnodes by changing the expr to use new index mapped to the old index.
    * @param builder : RexBuilder from the planner.
    * @param exprs: RexNodes to be transformed.
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ComplexToJsonPrel.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ComplexToJsonPrel.java
index 47ef875..1a96d60 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ComplexToJsonPrel.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ComplexToJsonPrel.java
@@ -71,9 +71,4 @@ public class ComplexToJsonPrel extends SingleRel implements Prel {
     return true;
   }
 
-  @Override
-  public Prel addImplicitRowIDCol(List<RelNode> children) {
-    throw new UnsupportedOperationException("Adding Implicit RowID column is not supported for " +
-                                            this.getClass().getSimpleName() + " operator ");
-  }
 }
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/FilterPrel.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/FilterPrel.java
index 1548d35..1c9112c 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/FilterPrel.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/FilterPrel.java
@@ -18,10 +18,8 @@
 package org.apache.drill.exec.planner.physical;
 
 import java.io.IOException;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Map;
 
 import org.apache.calcite.rex.RexBuilder;
 import org.apache.drill.exec.physical.base.PhysicalOperator;
@@ -89,14 +87,8 @@ public class FilterPrel extends DrillFilterRelBase implements Prel {
   @Override
   public Prel addImplicitRowIDCol(List<RelNode> children) {
     RexBuilder builder = this.getCluster().getRexBuilder();
-    return (Prel) this.copy(this.traitSet, children.get(0), DrillRelOptUtil.transformExpr(builder, condition, buildMap()));
-  }
-
-  private Map<Integer, Integer> buildMap() {
-    Map<Integer, Integer> map = new HashMap<>();
-    for (int i=0;i<this.getInput().getRowType().getFieldCount();i++) {
-      map.put(i, i+1);
-    }
-    return map;
+    // right shift the previous field indices.
+    return (Prel) this.copy(this.traitSet, children.get(0), DrillRelOptUtil.transformExpr(builder,
+            condition, DrillRelOptUtil.rightShiftColsInRowType(this.getInput().getRowType())));
   }
 }
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/JoinPrel.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/JoinPrel.java
index 003eabf..1f4a869 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/JoinPrel.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/JoinPrel.java
@@ -139,8 +139,4 @@ public abstract class JoinPrel extends DrillJoinRelBase implements Prel {
     }
   }
 
-  @Override
-  public Prel addImplicitRowIDCol(List<RelNode> children) {
-    throw new UnsupportedOperationException("Adding Implicit RowID column is not supported for " + this.getClass().getSimpleName() + " operator ");
-  }
 }
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/LateralJoinPrel.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/LateralJoinPrel.java
index 64e59e9..44163ba 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/LateralJoinPrel.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/LateralJoinPrel.java
@@ -156,9 +156,4 @@ public class LateralJoinPrel extends DrillLateralJoinRelBase implements Prel {
     return BatchSchema.SelectionVectorMode.NONE;
   }
 
-  @Override
-  public Prel addImplicitRowIDCol(List<RelNode> children) {
-    throw new UnsupportedOperationException("Adding Implicit RowID column is not supported for " +
-                                              this.getClass().getSimpleName() + " operator ");
-  }
 }
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/Prel.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/Prel.java
index d7628ee..b72aff7 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/Prel.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/Prel.java
@@ -56,6 +56,9 @@ public interface Prel extends DrillRelNode, Iterable<Prel> {
   SelectionVectorMode getEncoding();
   boolean needsFinalColumnReordering();
 
-  Prel addImplicitRowIDCol(List<RelNode> children);
+  default Prel addImplicitRowIDCol(List<RelNode> children) {
+    throw new UnsupportedOperationException("Adding Implicit RowID column is not supported for " +
+            this.getClass().getSimpleName() + " operator ");
+  }
 
 }
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ProducerConsumerPrel.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ProducerConsumerPrel.java
index c22bd00..4d320eb 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ProducerConsumerPrel.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ProducerConsumerPrel.java
@@ -80,9 +80,4 @@ public class ProducerConsumerPrel extends SingleRel implements DrillRelNode, Pre
     return true;
   }
 
-  @Override
-  public Prel addImplicitRowIDCol(List<RelNode> children) {
-    throw new UnsupportedOperationException("Adding Implicit RowID column is not supported for " +
-                                            this.getClass().getSimpleName() + " operator ");
-  }
 }
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ProjectPrel.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ProjectPrel.java
index dd8e81b..0a9e8bf 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ProjectPrel.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ProjectPrel.java
@@ -19,10 +19,8 @@ package org.apache.drill.exec.planner.physical;
 
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Map;
 
 import com.google.common.collect.Lists;
 import org.apache.calcite.rel.type.RelDataTypeFactory;
@@ -143,7 +141,9 @@ public class ProjectPrel extends DrillProjectRelBase implements Prel{
     RexBuilder builder = this.getCluster().getRexBuilder();
     List<RexNode> projects = Lists.newArrayList();
     projects.add(builder.makeInputRef(typeFactory.createSqlType(SqlTypeName.INTEGER), 0));
-    projects.addAll(DrillRelOptUtil.transformExprs(builder, this.getProjects(), buildMap()));
+    // right shift the previous field indices.
+    projects.addAll(DrillRelOptUtil.transformExprs(builder, this.getProjects(),
+                        DrillRelOptUtil.rightShiftColsInRowType(this.getInput().getRowType())));
 
     List<String> fieldNames = new ArrayList<>();
     List<RelDataType> fieldTypes = new ArrayList<>();
@@ -160,12 +160,4 @@ public class ProjectPrel extends DrillProjectRelBase implements Prel{
 
     return (Prel) this.copy(this.getTraitSet(), children.get(0), projects, newRowType);
   }
-
-  private Map<Integer, Integer> buildMap() {
-    Map<Integer, Integer> map = new HashMap<>();
-    for (int i=0;i<this.getInput().getRowType().getFieldCount();i++) {
-      map.put(i, i+1);
-    }
-    return map;
-  }
 }
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ScanPrel.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ScanPrel.java
index cc59c71..a2655b3 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ScanPrel.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ScanPrel.java
@@ -169,9 +169,4 @@ public class ScanPrel extends AbstractRelNode implements DrillScanPrel {
     return groupScan.getDistributionAffinity();
   }
 
-  @Override
-  public Prel addImplicitRowIDCol(List<RelNode> children) {
-    throw new UnsupportedOperationException("Adding Implicit RowID column is not supported for " +
-                                              this.getClass().getSimpleName() + " operator ");
-  }
 }
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ScreenPrel.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ScreenPrel.java
index c65914c..ee2b309 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ScreenPrel.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ScreenPrel.java
@@ -85,9 +85,4 @@ public class ScreenPrel extends DrillScreenRelBase implements Prel, HasDistribut
     return DistributionAffinity.HARD;
   }
 
-  @Override
-  public Prel addImplicitRowIDCol(List<RelNode> children) {
-    throw new UnsupportedOperationException("Adding Implicit RowID column is not supported for " +
-                                            this.getClass().getSimpleName() + " operator ");
-  }
 }
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/SinglePrel.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/SinglePrel.java
index e403f67..959acb4 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/SinglePrel.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/SinglePrel.java
@@ -18,7 +18,6 @@
 package org.apache.drill.exec.planner.physical;
 
 import java.util.Iterator;
-import java.util.List;
 
 import org.apache.drill.exec.planner.physical.visitor.PrelVisitor;
 import org.apache.drill.exec.record.BatchSchema.SelectionVectorMode;
@@ -53,9 +52,4 @@ public abstract class SinglePrel extends SingleRel implements Prel{
     return true;
   }
 
-  @Override
-  public Prel addImplicitRowIDCol(List<RelNode> children) {
-    throw new UnsupportedOperationException("Adding Implicit RowID column is not supported for " +
-                                            this.getClass().getSimpleName() + " operator ");
-  }
 }
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/UnionPrel.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/UnionPrel.java
index 202e1cc..79d5611 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/UnionPrel.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/UnionPrel.java
@@ -49,9 +49,4 @@ public abstract class UnionPrel extends DrillUnionRelBase implements Prel{
     return false;
   }
 
-  @Override
-  public Prel addImplicitRowIDCol(List<RelNode> children) {
-    throw new UnsupportedOperationException("Adding Implicit RowID column is not supported for " +
-                                            this.getClass().getSimpleName() + " operator ");
-  }
 }
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ValuesPrel.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ValuesPrel.java
index 89daf2c..095519f 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ValuesPrel.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ValuesPrel.java
@@ -88,9 +88,4 @@ public class ValuesPrel extends DrillValuesRelBase implements Prel {
     return false;
   }
 
-  @Override
-  public Prel addImplicitRowIDCol(List<RelNode> children) {
-    throw new UnsupportedOperationException("Adding Implicit RowID column is not supported for " +
-                                            this.getClass().getSimpleName() + " operator ");
-  }
 }
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/WindowPrel.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/WindowPrel.java
index 224a2cd..275dd48 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/WindowPrel.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/WindowPrel.java
@@ -182,9 +182,4 @@ public class WindowPrel extends DrillWindowRelBase implements Prel {
     return rowType;
   }
 
-  @Override
-  public Prel addImplicitRowIDCol(List<RelNode> children) {
-    throw new UnsupportedOperationException("Adding Implicit RowID column is not supported for " +
-                                            this.getClass().getSimpleName() + " operator ");
-  }
 }
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/WriterPrel.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/WriterPrel.java
index 9576410..a4f283d 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/WriterPrel.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/WriterPrel.java
@@ -79,9 +79,4 @@ public class WriterPrel extends DrillWriterRelBase implements Prel {
     return true;
   }
 
-  @Override
-  public Prel addImplicitRowIDCol(List<RelNode> children) {
-    throw new UnsupportedOperationException("Adding Implicit RowID column is not supported for " +
-                                            this.getClass().getSimpleName() + " operator ");
-  }
 }
diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestLateralJoinCorrectness.java b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestLateralJoinCorrectness.java
index 3932cf9..6626176 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestLateralJoinCorrectness.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestLateralJoinCorrectness.java
@@ -109,7 +109,7 @@ public class TestLateralJoinCorrectness extends SubOperatorTest {
     emptyLeftRowSet = fixture.rowSetBuilder(leftSchema).build();
 
     rightSchema = new SchemaBuilder()
-      .add(ljPopConfig.getImplicitColumn(), TypeProtos.MinorType.INT)
+      .add(ljPopConfig.getImplicitRIDColumn(), TypeProtos.MinorType.INT)
       .add("id_right", TypeProtos.MinorType.INT)
       .add("cost_right", TypeProtos.MinorType.INT)
       .add("name_right", TypeProtos.MinorType.VARCHAR)
@@ -692,7 +692,7 @@ public class TestLateralJoinCorrectness extends SubOperatorTest {
 
     // Create right input schema
     TupleMetadata rightSchema2 = new SchemaBuilder()
-      .add(ljPopConfig.getImplicitColumn(), TypeProtos.MinorType.INT)
+      .add(ljPopConfig.getImplicitRIDColumn(), TypeProtos.MinorType.INT)
       .add("id_right", TypeProtos.MinorType.INT)
       .add("cost_right", TypeProtos.MinorType.VARCHAR)
       .add("name_right", TypeProtos.MinorType.VARCHAR)
@@ -789,7 +789,7 @@ public class TestLateralJoinCorrectness extends SubOperatorTest {
 
     // Create right input schema
     TupleMetadata rightSchema2 = new SchemaBuilder()
-      .add(ljPopConfig.getImplicitColumn(), TypeProtos.MinorType.INT)
+      .add(ljPopConfig.getImplicitRIDColumn(), TypeProtos.MinorType.INT)
       .add("id_right", TypeProtos.MinorType.INT)
       .add("cost_right", TypeProtos.MinorType.VARCHAR)
       .add("name_right", TypeProtos.MinorType.VARCHAR)
@@ -1768,7 +1768,7 @@ public class TestLateralJoinCorrectness extends SubOperatorTest {
 
     // Create right input schema
     TupleMetadata rightSchema2 = new SchemaBuilder()
-      .add(popConfig_1.getImplicitColumn(), TypeProtos.MinorType.INT)
+      .add(popConfig_1.getImplicitRIDColumn(), TypeProtos.MinorType.INT)
       .add("id_right_1", TypeProtos.MinorType.INT)
       .add("cost_right_1", TypeProtos.MinorType.INT)
       .add("name_right_1", TypeProtos.MinorType.VARCHAR)
@@ -1839,7 +1839,7 @@ public class TestLateralJoinCorrectness extends SubOperatorTest {
 
     // Create a left batch with implicit column for lower lateral left unnest
     TupleMetadata leftSchemaWithImplicit = new SchemaBuilder()
-      .add(popConfig_1.getImplicitColumn(), TypeProtos.MinorType.INT)
+      .add(popConfig_1.getImplicitRIDColumn(), TypeProtos.MinorType.INT)
       .add("id_left", TypeProtos.MinorType.INT)
       .add("cost_left", TypeProtos.MinorType.INT)
       .add("name_left", TypeProtos.MinorType.VARCHAR)
@@ -1953,7 +1953,7 @@ public class TestLateralJoinCorrectness extends SubOperatorTest {
     final LateralJoinPOP popConfig_1 = new LateralJoinPOP(null, null, JoinRelType.INNER, DrillLateralJoinRelBase.IMPLICIT_COLUMN, Lists.newArrayList());
 
     TupleMetadata leftSchemaWithImplicit = new SchemaBuilder()
-      .add(popConfig_1.getImplicitColumn(), TypeProtos.MinorType.INT)
+      .add(popConfig_1.getImplicitRIDColumn(), TypeProtos.MinorType.INT)
       .add("id_left", TypeProtos.MinorType.INT)
       .add("cost_left", TypeProtos.MinorType.INT)
       .add("name_left", TypeProtos.MinorType.VARCHAR)
@@ -2082,7 +2082,7 @@ public class TestLateralJoinCorrectness extends SubOperatorTest {
     final LateralJoinPOP popConfig_1 = new LateralJoinPOP(null, null, JoinRelType.INNER, DrillLateralJoinRelBase.IMPLICIT_COLUMN, Lists.newArrayList());
 
     TupleMetadata leftSchemaWithImplicit = new SchemaBuilder()
-      .add(popConfig_1.getImplicitColumn(), TypeProtos.MinorType.INT)
+      .add(popConfig_1.getImplicitRIDColumn(), TypeProtos.MinorType.INT)
       .add("id_left", TypeProtos.MinorType.INT)
       .add("cost_left", TypeProtos.MinorType.INT)
       .add("name_left", TypeProtos.MinorType.VARCHAR)
@@ -2099,7 +2099,7 @@ public class TestLateralJoinCorrectness extends SubOperatorTest {
 
     // Create left input schema2 for schema change batch
     TupleMetadata leftSchema2 = new SchemaBuilder()
-      .add(popConfig_1.getImplicitColumn(), TypeProtos.MinorType.INT)
+      .add(popConfig_1.getImplicitRIDColumn(), TypeProtos.MinorType.INT)
       .add("new_id_left", TypeProtos.MinorType.INT)
       .add("new_cost_left", TypeProtos.MinorType.INT)
       .add("new_name_left", TypeProtos.MinorType.VARCHAR)
@@ -2230,7 +2230,7 @@ public class TestLateralJoinCorrectness extends SubOperatorTest {
     final LateralJoinPOP popConfig_1 = new LateralJoinPOP(null, null, JoinRelType.INNER, DrillLateralJoinRelBase.IMPLICIT_COLUMN, Lists.newArrayList());
 
     TupleMetadata leftSchemaWithImplicit = new SchemaBuilder()
-      .add(popConfig_1.getImplicitColumn(), TypeProtos.MinorType.INT)
+      .add(popConfig_1.getImplicitRIDColumn(), TypeProtos.MinorType.INT)
       .add("id_left", TypeProtos.MinorType.INT)
       .add("cost_left", TypeProtos.MinorType.INT)
       .add("name_left", TypeProtos.MinorType.VARCHAR)
@@ -2259,7 +2259,7 @@ public class TestLateralJoinCorrectness extends SubOperatorTest {
 
     // Get the right container with dummy data
     TupleMetadata rightSchema2 = new SchemaBuilder()
-      .add(popConfig_1.getImplicitColumn(), TypeProtos.MinorType.INT)
+      .add(popConfig_1.getImplicitRIDColumn(), TypeProtos.MinorType.INT)
       .add("id_right_new", TypeProtos.MinorType.INT)
       .add("cost_right_new", TypeProtos.MinorType.VARCHAR)
       .add("name_right_new", TypeProtos.MinorType.VARCHAR)
@@ -2376,7 +2376,7 @@ public class TestLateralJoinCorrectness extends SubOperatorTest {
     final LateralJoinPOP popConfig_1 = new LateralJoinPOP(null, null, JoinRelType.INNER, DrillLateralJoinRelBase.IMPLICIT_COLUMN, Lists.newArrayList());
 
     TupleMetadata leftSchemaWithImplicit = new SchemaBuilder()
-      .add(popConfig_1.getImplicitColumn(), TypeProtos.MinorType.INT)
+      .add(popConfig_1.getImplicitRIDColumn(), TypeProtos.MinorType.INT)
       .add("id_left", TypeProtos.MinorType.INT)
       .add("cost_left", TypeProtos.MinorType.INT)
       .add("name_left", TypeProtos.MinorType.VARCHAR)
@@ -2390,7 +2390,7 @@ public class TestLateralJoinCorrectness extends SubOperatorTest {
 
     // Create left input schema for first batch
     TupleMetadata leftSchema2 = new SchemaBuilder()
-      .add(popConfig_1.getImplicitColumn(), TypeProtos.MinorType.INT)
+      .add(popConfig_1.getImplicitRIDColumn(), TypeProtos.MinorType.INT)
       .add("id_left_new", TypeProtos.MinorType.INT)
       .add("cost_left_new", TypeProtos.MinorType.INT)
       .add("name_left_new", TypeProtos.MinorType.VARCHAR)
@@ -2417,7 +2417,7 @@ public class TestLateralJoinCorrectness extends SubOperatorTest {
 
     // Get the right container with dummy data
     TupleMetadata rightSchema2 = new SchemaBuilder()
-      .add(popConfig_1.getImplicitColumn(), TypeProtos.MinorType.INT)
+      .add(popConfig_1.getImplicitRIDColumn(), TypeProtos.MinorType.INT)
       .add("id_right_new", TypeProtos.MinorType.INT)
       .add("cost_right_new", TypeProtos.MinorType.VARCHAR)
       .add("name_right_new", TypeProtos.MinorType.VARCHAR)
@@ -2654,7 +2654,7 @@ public class TestLateralJoinCorrectness extends SubOperatorTest {
 
     // Create right input schema
     TupleMetadata rightSchema2 = new SchemaBuilder()
-      .add(ljPopConfig.getImplicitColumn(), TypeProtos.MinorType.INT)
+      .add(ljPopConfig.getImplicitRIDColumn(), TypeProtos.MinorType.INT)
       .add("id_right", TypeProtos.MinorType.INT)
       .add("cost_right", TypeProtos.MinorType.VARCHAR)
       .add("name_right", TypeProtos.MinorType.VARCHAR)
@@ -2745,7 +2745,7 @@ public class TestLateralJoinCorrectness extends SubOperatorTest {
     final LateralJoinPOP popConfig_1 = new LateralJoinPOP(null, null, JoinRelType.INNER, DrillLateralJoinRelBase.IMPLICIT_COLUMN, Lists.newArrayList());
 
     TupleMetadata leftSchemaWithImplicit = new SchemaBuilder()
-      .add(popConfig_1.getImplicitColumn(), TypeProtos.MinorType.INT)
+      .add(popConfig_1.getImplicitRIDColumn(), TypeProtos.MinorType.INT)
       .add("id_left", TypeProtos.MinorType.INT)
       .add("cost_left", TypeProtos.MinorType.INT)
       .add("name_left", TypeProtos.MinorType.VARCHAR)
@@ -2759,7 +2759,7 @@ public class TestLateralJoinCorrectness extends SubOperatorTest {
 
     // Create left input schema for first batch
     TupleMetadata leftSchema2 = new SchemaBuilder()
-      .add(popConfig_1.getImplicitColumn(), TypeProtos.MinorType.INT)
+      .add(popConfig_1.getImplicitRIDColumn(), TypeProtos.MinorType.INT)
       .add("id_left_new", TypeProtos.MinorType.INT)
       .add("cost_left_new", TypeProtos.MinorType.INT)
       .add("name_left_new", TypeProtos.MinorType.VARCHAR)
@@ -2786,7 +2786,7 @@ public class TestLateralJoinCorrectness extends SubOperatorTest {
 
     // Get the right container with dummy data
     TupleMetadata rightSchema2 = new SchemaBuilder()
-      .add(popConfig_1.getImplicitColumn(), TypeProtos.MinorType.INT)
+      .add(popConfig_1.getImplicitRIDColumn(), TypeProtos.MinorType.INT)
       .add("id_right_new", TypeProtos.MinorType.INT)
       .add("cost_right_new", TypeProtos.MinorType.VARCHAR)
       .add("name_right_new", TypeProtos.MinorType.VARCHAR)
diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestLateralJoinCorrectnessBatchProcessing.java b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestLateralJoinCorrectnessBatchProcessing.java
index 6a4dd26..574d8dc 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestLateralJoinCorrectnessBatchProcessing.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestLateralJoinCorrectnessBatchProcessing.java
@@ -107,7 +107,7 @@ public class TestLateralJoinCorrectnessBatchProcessing extends SubOperatorTest {
     emptyLeftRowSet = fixture.rowSetBuilder(leftSchema).build();
 
     rightSchema = new SchemaBuilder()
-      .add(ljPopConfig.getImplicitColumn(), TypeProtos.MinorType.INT)
+      .add(ljPopConfig.getImplicitRIDColumn(), TypeProtos.MinorType.INT)
       .add("id_right", TypeProtos.MinorType.INT)
       .add("cost_right", TypeProtos.MinorType.INT)
       .add("name_right", TypeProtos.MinorType.VARCHAR)
diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/lateraljoin/TestLateralPlans.java b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/lateraljoin/TestLateralPlans.java
index 6282a25..9cb5b6d 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/lateraljoin/TestLateralPlans.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/lateraljoin/TestLateralPlans.java
@@ -97,16 +97,6 @@ public class TestLateralPlans extends BaseTestQuery {
         .baselineColumns("c_name", "o_shop")
         .baselineValues("customer1", "Meno Park 1st")
         .go();
-    ClusterFixtureBuilder builder = ClusterFixture.builder(dirTestWatcher)
-            .setOptionDefault(ExecConstants.ENABLE_UNNEST_LATERAL_KEY, true);
-
-    try (ClusterFixture cluster = builder.build();
-         ClientFixture client = cluster.clientFixture()) {
-      String explainText = client.queryBuilder()
-            .sql(query)
-            .explainText();
-      System.out.println(explainText);
-    }
   }
 
   @Test