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;