DRILL-1258 : Fix compile error in generated code when Drill evaluates an 
expression returning a repeated list


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

Branch: refs/heads/master
Commit: f7d575b4d2dc9cd4375adca5d26b97b6084df3ec
Parents: 2754321
Author: Jinfeng Ni <j...@maprtech.com>
Authored: Tue Aug 5 18:47:24 2014 -0700
Committer: Jacques Nadeau <jacq...@apache.org>
Committed: Fri Aug 29 00:14:31 2014 -0700

----------------------------------------------------------------------
 .../java-exec/src/main/codegen/templates/BaseReader.java |  1 +
 .../src/main/codegen/templates/ListWriters.java          | 11 ++++++++---
 .../java-exec/src/main/codegen/templates/NullReader.java |  4 +++-
 3 files changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/f7d575b4/exec/java-exec/src/main/codegen/templates/BaseReader.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/codegen/templates/BaseReader.java 
b/exec/java-exec/src/main/codegen/templates/BaseReader.java
index d432b74..327e618 100644
--- a/exec/java-exec/src/main/codegen/templates/BaseReader.java
+++ b/exec/java-exec/src/main/codegen/templates/BaseReader.java
@@ -49,6 +49,7 @@ public interface BaseReader extends Positionable{
   public interface RepeatedListReader extends ListReader{
     boolean next();
     int size();
+    void copyAsValue(ListWriter writer);
   }
   
   public interface ScalarReader extends  

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/f7d575b4/exec/java-exec/src/main/codegen/templates/ListWriters.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/codegen/templates/ListWriters.java 
b/exec/java-exec/src/main/codegen/templates/ListWriters.java
index c991fcc..6ea9bb4 100644
--- a/exec/java-exec/src/main/codegen/templates/ListWriters.java
+++ b/exec/java-exec/src/main/codegen/templates/ListWriters.java
@@ -49,13 +49,18 @@ public class ${mode}ListWriter extends AbstractFieldWriter{
   protected ValueVector innerVector;
   
   <#if mode == "Repeated">private int currentChildIndex = 0;</#if>
-  ${mode}ListWriter(String name, ${containerClass} container, FieldWriter 
parent){
+  public ${mode}ListWriter(String name, ${containerClass} container, 
FieldWriter parent){
     super(parent);
     this.name = name;
     this.container = container;
   }
-  
-  
+
+  public ${mode}ListWriter(${containerClass} container, FieldWriter parent){
+    super(parent);
+    this.name = null;
+    this.container = container;
+  }
+
   public void allocate(){
     if(writer != null) writer.allocate();
     <#if mode == "Repeated">

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/f7d575b4/exec/java-exec/src/main/codegen/templates/NullReader.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/codegen/templates/NullReader.java 
b/exec/java-exec/src/main/codegen/templates/NullReader.java
index beec5cb..b246e36 100644
--- a/exec/java-exec/src/main/codegen/templates/NullReader.java
+++ b/exec/java-exec/src/main/codegen/templates/NullReader.java
@@ -41,7 +41,9 @@ public class NullReader extends AbstractBaseReader implements 
FieldReader{
   }
   
   public void copyAsValue(MapWriter writer) {}
-  
+
+  public void copyAsValue(ListWriter writer) {}
+
   <#list vv.types as type><#list type.minor as minor><#assign name = 
minor.class?cap_first /> 
   public void read(Nullable${name}Holder holder){
     holder.isSet = 0;

Reply via email to