aboutsummaryrefslogtreecommitdiff
path: root/exec
diff options
context:
space:
mode:
authorJinfeng Ni <jni@maprtech.com>2014-08-05 18:47:24 -0700
committerJacques Nadeau <jacques@apache.org>2014-08-29 00:14:31 -0700
commitf7d575b4d2dc9cd4375adca5d26b97b6084df3ec (patch)
tree177e9d974ab9bd9b98ce3bd52a54d40ebe373a0b /exec
parent2754321c46cc34bbf272f456a60f141b8c42ad45 (diff)
DRILL-1258 : Fix compile error in generated code when Drill evaluates an expression returning a repeated list
Diffstat (limited to 'exec')
-rw-r--r--exec/java-exec/src/main/codegen/templates/BaseReader.java1
-rw-r--r--exec/java-exec/src/main/codegen/templates/ListWriters.java11
-rw-r--r--exec/java-exec/src/main/codegen/templates/NullReader.java4
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;