DRILL-650: Left outer join sometimes fails sometimes with Failure while setting 
up Foreman error


Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/65f6bcbf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/65f6bcbf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/65f6bcbf

Branch: refs/heads/master
Commit: 65f6bcbfc32a8dd3c69e1de127ad79ece0556b20
Parents: 4d13046
Author: Aditya Kishore <[email protected]>
Authored: Fri Jun 20 07:18:35 2014 -0700
Committer: Jacques Nadeau <[email protected]>
Committed: Fri Jun 20 10:58:10 2014 -0700

----------------------------------------------------------------------
 .../planner/types/RelDataTypeDrillImpl.java     | 23 ++++++++++++++++++++
 .../exec/planner/types/RelDataTypeHolder.java   | 15 ++++++++++++-
 2 files changed, 37 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/65f6bcbf/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/RelDataTypeDrillImpl.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/RelDataTypeDrillImpl.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/RelDataTypeDrillImpl.java
index 0f3c24f..bb97992 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/RelDataTypeDrillImpl.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/RelDataTypeDrillImpl.java
@@ -84,4 +84,27 @@ public class RelDataTypeDrillImpl extends RelDataTypeImpl {
     public boolean isStruct() {
         return true;
     }
+
+    @Override
+    public int hashCode() {
+      return holder == null ? 0 : holder.hashCode();
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+      if (this == obj)
+        return true;
+      if (!super.equals(obj))
+        return false;
+      if (getClass() != obj.getClass())
+        return false;
+      RelDataTypeDrillImpl other = (RelDataTypeDrillImpl) obj;
+      if (holder == null) {
+        if (other.holder != null)
+          return false;
+      } else if (!holder.equals(other.holder))
+        return false;
+      return true;
+    }
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/65f6bcbf/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/RelDataTypeHolder.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/RelDataTypeHolder.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/RelDataTypeHolder.java
index 201e520..1485aa3 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/RelDataTypeHolder.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/types/RelDataTypeHolder.java
@@ -34,7 +34,6 @@ public class RelDataTypeHolder {
   private RelDataTypeFactory typeFactory;
 
   public List<RelDataTypeField> getFieldList(RelDataTypeFactory typeFactory) {
-
     addStarIfEmpty(typeFactory);
     return fields;
   }
@@ -81,4 +80,18 @@ public class RelDataTypeHolder {
     this.typeFactory = typeFactory;
   }
 
+  @Override
+  public int hashCode() {
+    return System.identityHashCode(this);
+  }
+
+  @Override
+  public boolean equals(Object obj) {
+    return (this == obj);
+  }
+
+  private List<RelDataTypeField> getFieldList() {
+    return getFieldList(this.typeFactory);
+  }
+
 }

Reply via email to