diff options
author | Jinfeng Ni <jni@maprtech.com> | 2014-08-05 18:47:24 -0700 |
---|---|---|
committer | Jacques Nadeau <jacques@apache.org> | 2014-08-29 00:14:31 -0700 |
commit | f7d575b4d2dc9cd4375adca5d26b97b6084df3ec (patch) | |
tree | 177e9d974ab9bd9b98ce3bd52a54d40ebe373a0b /exec | |
parent | 2754321c46cc34bbf272f456a60f141b8c42ad45 (diff) |
DRILL-1258 : Fix compile error in generated code when Drill evaluates an expression returning a repeated list
Diffstat (limited to 'exec')
3 files changed, 12 insertions, 4 deletions
diff --git a/exec/java-exec/src/main/codegen/templates/BaseReader.java b/exec/java-exec/src/main/codegen/templates/BaseReader.java index d432b7445..327e6186e 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 diff --git a/exec/java-exec/src/main/codegen/templates/ListWriters.java b/exec/java-exec/src/main/codegen/templates/ListWriters.java index c991fcc43..6ea9bb42d 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"> diff --git a/exec/java-exec/src/main/codegen/templates/NullReader.java b/exec/java-exec/src/main/codegen/templates/NullReader.java index beec5cb3d..b246e3608 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; |