[
https://issues.apache.org/jira/browse/DRILL-7041?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Anton Gozhiy closed DRILL-7041.
-------------------------------
> CompileException happens if a nested coalesce function returns null
> -------------------------------------------------------------------
>
> Key: DRILL-7041
> URL: https://issues.apache.org/jira/browse/DRILL-7041
> Project: Apache Drill
> Issue Type: Bug
> Affects Versions: 1.16.0
> Reporter: Anton Gozhiy
> Assignee: Bohdan Kazydub
> Priority: Major
> Fix For: 1.16.0
>
>
> *Query:*
> {code:sql}
> select coalesce(coalesce(n_name1, n_name2), n_name) from
> cp.`tpch/nation.parquet`
> {code}
> *Expected result:*
> Values from "n_name" column should be returned
> *Actual result:*
> An exception happens:
> {code}
> org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR:
> CompileException: Line 57, Column 27: Assignment conversion not possible from
> type "org.apache.drill.exec.expr.holders.NullableVarCharHolder" to type
> "org.apache.drill.exec.vector.UntypedNullHolder" Fragment 0:0 Please, refer
> to logs for more information. [Error Id: e54d5bfd-604d-4a39-b62f-33bb964e5286
> on userf87d-pc:31010] (org.apache.drill.exec.exception.SchemaChangeException)
> Failure while attempting to load generated class
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.setupNewSchemaFromInput():573
>
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.setupNewSchema():583
> org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext():101
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext():143
> org.apache.drill.exec.record.AbstractRecordBatch.next():186
> org.apache.drill.exec.physical.impl.BaseRootExec.next():104
> org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext():83
> org.apache.drill.exec.physical.impl.BaseRootExec.next():94
> org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():297
> org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():284
> java.security.AccessController.doPrivileged():-2
> javax.security.auth.Subject.doAs():422
> org.apache.hadoop.security.UserGroupInformation.doAs():1746
> org.apache.drill.exec.work.fragment.FragmentExecutor.run():284
> org.apache.drill.common.SelfCleaningRunnable.run():38
> java.util.concurrent.ThreadPoolExecutor.runWorker():1149
> java.util.concurrent.ThreadPoolExecutor$Worker.run():624
> java.lang.Thread.run():748 Caused By
> (org.apache.drill.exec.exception.ClassTransformationException)
> java.util.concurrent.ExecutionException:
> org.apache.drill.exec.exception.ClassTransformationException: Failure
> generating transformation classes for value: package
> org.apache.drill.exec.test.generated; import
> org.apache.drill.exec.exception.SchemaChangeException; import
> org.apache.drill.exec.expr.holders.BigIntHolder; import
> org.apache.drill.exec.expr.holders.BitHolder; import
> org.apache.drill.exec.expr.holders.NullableVarBinaryHolder; import
> org.apache.drill.exec.expr.holders.NullableVarCharHolder; import
> org.apache.drill.exec.expr.holders.VarCharHolder; import
> org.apache.drill.exec.ops.FragmentContext; import
> org.apache.drill.exec.record.RecordBatch; import
> org.apache.drill.exec.vector.UntypedNullHolder; import
> org.apache.drill.exec.vector.UntypedNullVector; import
> org.apache.drill.exec.vector.VarCharVector; public class ProjectorGen35 {
> BigIntHolder const6; BitHolder constant9; UntypedNullHolder constant13;
> VarCharVector vv14; UntypedNullVector vv19; public void doEval(int inIndex,
> int outIndex) throws SchemaChangeException { { UntypedNullHolder out0 = new
> UntypedNullHolder(); if (constant9 .value == 1) { if (constant13 .isSet!= 0)
> { out0 = constant13; } } else { VarCharHolder out17 = new VarCharHolder(); {
> out17 .buffer = vv14 .getBuffer(); long startEnd = vv14
> .getAccessor().getStartEnd((inIndex)); out17 .start = ((int) startEnd); out17
> .end = ((int)(startEnd >> 32)); } //---- start of eval portion of
> convertToNullableVARCHAR function. ----// NullableVarCharHolder out18 = new
> NullableVarCharHolder(); { final NullableVarCharHolder output = new
> NullableVarCharHolder(); VarCharHolder input = out17;
> GConvertToNullableVarCharHolder_eval: { output.isSet = 1; output.start =
> input.start; output.end = input.end; output.buffer = input.buffer; } out18 =
> output; } //---- end of eval portion of convertToNullableVARCHAR function.
> ----// if (out18 .isSet!= 0) { out0 = out18; } } if (!(out0 .isSet == 0)) {
> vv19 .getMutator().set((outIndex), out0 .isSet, out0); } } } public void
> doSetup(FragmentContext context, RecordBatch incoming, RecordBatch outgoing)
> throws SchemaChangeException { { UntypedNullHolder out1 = new
> UntypedNullHolder(); NullableVarBinaryHolder out2 = new
> NullableVarBinaryHolder(); /** start SETUP for function isnotnull **/ {
> NullableVarBinaryHolder input = out2;
> GNullOpNullableVarBinaryHolder$IsNotNull_setup: {} } /** end SETUP for
> function isnotnull **/ //---- start of eval portion of isnotnull function.
> ----// BitHolder out3 = new BitHolder(); { final BitHolder out = new
> BitHolder(); NullableVarBinaryHolder input = out2;
> GNullOpNullableVarBinaryHolder$IsNotNull_eval: { out.value = (input.isSet ==
> 0 ? 0 : 1); } out3 = out; } //---- end of eval portion of isnotnull function.
> ----// if (out3 .value == 1) { UntypedNullHolder out4 = new
> UntypedNullHolder(); if (out4 .isSet!= 0) { out1 = out4; } } else {
> UntypedNullHolder out5 = new UntypedNullHolder(); if (out5 .isSet!= 0) { out1
> = out5; } } /** start SETUP for function castVARBINARY **/ {
> UntypedNullHolder in = out1; BigIntHolder len = const6;
> CastUntypedNullVarBinary_setup: {} } /** end SETUP for function castVARBINARY
> **/ //---- start of eval portion of castVARBINARY function. ----//
> NullableVarBinaryHolder out7 = new NullableVarBinaryHolder(); { if (out1
> .isSet == 0) { out7 .isSet = 0; } else { final NullableVarBinaryHolder out =
> new NullableVarBinaryHolder(); UntypedNullHolder in = out1; BigIntHolder len
> = const6; CastUntypedNullVarBinary_eval: { out.isSet = 0; } out.isSet = 1;
> out7 = out; out.isSet = 1; } } //---- end of eval portion of castVARBINARY
> function. ----// /** start SETUP for function isnotnull **/ {
> NullableVarBinaryHolder input = out7;
> GNullOpNullableVarBinaryHolder$IsNotNull_setup: {} } /** end SETUP for
> function isnotnull **/ //---- start of eval portion of isnotnull function.
> ----// BitHolder out8 = new BitHolder(); { final BitHolder out = new
> BitHolder(); NullableVarBinaryHolder input = out7;
> GNullOpNullableVarBinaryHolder$IsNotNull_eval: { out.value = (input.isSet ==
> 0 ? 0 : 1); } out8 = out; } //---- end of eval portion of isnotnull function.
> ----// constant9 = out8; UntypedNullHolder out10 = new UntypedNullHolder();
> if (out3 .value == 1) { UntypedNullHolder out11 = new UntypedNullHolder(); if
> (out11 .isSet!= 0) { out10 = out11; } } else { UntypedNullHolder out12 = new
> UntypedNullHolder(); if (out12 .isSet!= 0) { out10 = out12; } } constant13 =
> out10; int[] fieldIds15 = new int[ 1 ] ; fieldIds15 [ 0 ] = 0; Object tmp16 =
> (incoming).getValueAccessorById(VarCharVector.class,
> fieldIds15).getValueVector(); if (tmp16 == null) { throw new
> SchemaChangeException("Failure while loading vector vv14 with id:
> TypedFieldId [fieldIds=[0], remainder=null]."); } vv14 = ((VarCharVector)
> tmp16); /** start SETUP for function convertToNullableVARCHAR **/ {
> GConvertToNullableVarCharHolder_setup: {} } /** end SETUP for function
> convertToNullableVARCHAR **/ int[] fieldIds20 = new int[ 1 ] ; fieldIds20 [ 0
> ] = 0; Object tmp21 =
> (outgoing).getValueAccessorById(UntypedNullVector.class,
> fieldIds20).getValueVector(); if (tmp21 == null) { throw new
> SchemaChangeException("Failure while loading vector vv19 with id:
> TypedFieldId [fieldIds=[0], remainder=null]."); } vv19 = ((UntypedNullVector)
> tmp21); } } public void __DRILL_INIT__() throws SchemaChangeException { } }
> org.apache.drill.exec.compile.CodeCompiler.createInstances():197
> org.apache.drill.exec.compile.CodeCompiler.createInstance():163
> org.apache.drill.exec.ops.BaseFragmentContext.getImplementationClass():57
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.setupNewSchemaFromInput():570
>
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.setupNewSchema():583
> org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext():101
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext():143
> org.apache.drill.exec.record.AbstractRecordBatch.next():186
> org.apache.drill.exec.physical.impl.BaseRootExec.next():104
> org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext():83
> org.apache.drill.exec.physical.impl.BaseRootExec.next():94
> org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():297
> org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():284
> java.security.AccessController.doPrivileged():-2
> javax.security.auth.Subject.doAs():422
> org.apache.hadoop.security.UserGroupInformation.doAs():1746
> org.apache.drill.exec.work.fragment.FragmentExecutor.run():284
> org.apache.drill.common.SelfCleaningRunnable.run():38
> java.util.concurrent.ThreadPoolExecutor.runWorker():1149
> java.util.concurrent.ThreadPoolExecutor$Worker.run():624
> java.lang.Thread.run():748 Caused By
> (java.util.concurrent.ExecutionException)
> org.apache.drill.exec.exception.ClassTransformationException: Failure
> generating transformation classes for value: package
> org.apache.drill.exec.test.generated; import
> org.apache.drill.exec.exception.SchemaChangeException; import
> org.apache.drill.exec.expr.holders.BigIntHolder; import
> org.apache.drill.exec.expr.holders.BitHolder; import
> org.apache.drill.exec.expr.holders.NullableVarBinaryHolder; import
> org.apache.drill.exec.expr.holders.NullableVarCharHolder; import
> org.apache.drill.exec.expr.holders.VarCharHolder; import
> org.apache.drill.exec.ops.FragmentContext; import
> org.apache.drill.exec.record.RecordBatch; import
> org.apache.drill.exec.vector.UntypedNullHolder; import
> org.apache.drill.exec.vector.UntypedNullVector; import
> org.apache.drill.exec.vector.VarCharVector; public class ProjectorGen35 {
> BigIntHolder const6; BitHolder constant9; UntypedNullHolder constant13;
> VarCharVector vv14; UntypedNullVector vv19; public void doEval(int inIndex,
> int outIndex) throws SchemaChangeException { { UntypedNullHolder out0 = new
> UntypedNullHolder(); if (constant9 .value == 1) { if (constant13 .isSet!= 0)
> { out0 = constant13; } } else { VarCharHolder out17 = new VarCharHolder(); {
> out17 .buffer = vv14 .getBuffer(); long startEnd = vv14
> .getAccessor().getStartEnd((inIndex)); out17 .start = ((int) startEnd); out17
> .end = ((int)(startEnd >> 32)); } //---- start of eval portion of
> convertToNullableVARCHAR function. ----// NullableVarCharHolder out18 = new
> NullableVarCharHolder(); { final NullableVarCharHolder output = new
> NullableVarCharHolder(); VarCharHolder input = out17;
> GConvertToNullableVarCharHolder_eval: { output.isSet = 1; output.start =
> input.start; output.end = input.end; output.buffer = input.buffer; } out18 =
> output; } //---- end of eval portion of convertToNullableVARCHAR function.
> ----// if (out18 .isSet!= 0) { out0 = out18; } } if (!(out0 .isSet == 0)) {
> vv19 .getMutator().set((outIndex), out0 .isSet, out0); } } } public void
> doSetup(FragmentContext context, RecordBatch incoming, RecordBatch outgoing)
> throws SchemaChangeException { { UntypedNullHolder out1 = new
> UntypedNullHolder(); NullableVarBinaryHolder out2 = new
> NullableVarBinaryHolder(); /** start SETUP for function isnotnull **/ {
> NullableVarBinaryHolder input = out2;
> GNullOpNullableVarBinaryHolder$IsNotNull_setup: {} } /** end SETUP for
> function isnotnull **/ //---- start of eval portion of isnotnull function.
> ----// BitHolder out3 = new BitHolder(); { final BitHolder out = new
> BitHolder(); NullableVarBinaryHolder input = out2;
> GNullOpNullableVarBinaryHolder$IsNotNull_eval: { out.value = (input.isSet ==
> 0 ? 0 : 1); } out3 = out; } //---- end of eval portion of isnotnull function.
> ----// if (out3 .value == 1) { UntypedNullHolder out4 = new
> UntypedNullHolder(); if (out4 .isSet!= 0) { out1 = out4; } } else {
> UntypedNullHolder out5 = new UntypedNullHolder(); if (out5 .isSet!= 0) { out1
> = out5; } } /** start SETUP for function castVARBINARY **/ {
> UntypedNullHolder in = out1; BigIntHolder len = const6;
> CastUntypedNullVarBinary_setup: {} } /** end SETUP for function castVARBINARY
> **/ //---- start of eval portion of castVARBINARY function. ----//
> NullableVarBinaryHolder out7 = new NullableVarBinaryHolder(); { if (out1
> .isSet == 0) { out7 .isSet = 0; } else { final NullableVarBinaryHolder out =
> new NullableVarBinaryHolder(); UntypedNullHolder in = out1; BigIntHolder len
> = const6; CastUntypedNullVarBinary_eval: { out.isSet = 0; } out.isSet = 1;
> out7 = out; out.isSet = 1; } } //---- end of eval portion of castVARBINARY
> function. ----// /** start SETUP for function isnotnull **/ {
> NullableVarBinaryHolder input = out7;
> GNullOpNullableVarBinaryHolder$IsNotNull_setup: {} } /** end SETUP for
> function isnotnull **/ //---- start of eval portion of isnotnull function.
> ----// BitHolder out8 = new BitHolder(); { final BitHolder out = new
> BitHolder(); NullableVarBinaryHolder input = out7;
> GNullOpNullableVarBinaryHolder$IsNotNull_eval: { out.value = (input.isSet ==
> 0 ? 0 : 1); } out8 = out; } //---- end of eval portion of isnotnull function.
> ----// constant9 = out8; UntypedNullHolder out10 = new UntypedNullHolder();
> if (out3 .value == 1) { UntypedNullHolder out11 = new UntypedNullHolder(); if
> (out11 .isSet!= 0) { out10 = out11; } } else { UntypedNullHolder out12 = new
> UntypedNullHolder(); if (out12 .isSet!= 0) { out10 = out12; } } constant13 =
> out10; int[] fieldIds15 = new int[ 1 ] ; fieldIds15 [ 0 ] = 0; Object tmp16 =
> (incoming).getValueAccessorById(VarCharVector.class,
> fieldIds15).getValueVector(); if (tmp16 == null) { throw new
> SchemaChangeException("Failure while loading vector vv14 with id:
> TypedFieldId [fieldIds=[0], remainder=null]."); } vv14 = ((VarCharVector)
> tmp16); /** start SETUP for function convertToNullableVARCHAR **/ {
> GConvertToNullableVarCharHolder_setup: {} } /** end SETUP for function
> convertToNullableVARCHAR **/ int[] fieldIds20 = new int[ 1 ] ; fieldIds20 [ 0
> ] = 0; Object tmp21 =
> (outgoing).getValueAccessorById(UntypedNullVector.class,
> fieldIds20).getValueVector(); if (tmp21 == null) { throw new
> SchemaChangeException("Failure while loading vector vv19 with id:
> TypedFieldId [fieldIds=[0], remainder=null]."); } vv19 = ((UntypedNullVector)
> tmp21); } } public void __DRILL_INIT__() throws SchemaChangeException { } }
> org.apache.drill.shaded.guava.com.google.common.util.concurrent.AbstractFuture.getDoneValue():502
>
> org.apache.drill.shaded.guava.com.google.common.util.concurrent.AbstractFuture.get():461
>
> org.apache.drill.shaded.guava.com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get():83
>
> org.apache.drill.shaded.guava.com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly():142
>
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache$Segment.getAndRecordStats():2453
>
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache$Segment.loadSync():2417
>
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad():2299
>
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache$Segment.get():2212
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache.get():4147
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache.getOrLoad():4151
>
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache$LocalLoadingCache.get():5140
> org.apache.drill.exec.compile.CodeCompiler.createInstances():186
> org.apache.drill.exec.compile.CodeCompiler.createInstance():163
> org.apache.drill.exec.ops.BaseFragmentContext.getImplementationClass():57
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.setupNewSchemaFromInput():570
>
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.setupNewSchema():583
> org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext():101
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext():143
> org.apache.drill.exec.record.AbstractRecordBatch.next():186
> org.apache.drill.exec.physical.impl.BaseRootExec.next():104
> org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext():83
> org.apache.drill.exec.physical.impl.BaseRootExec.next():94
> org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():297
> org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():284
> java.security.AccessController.doPrivileged():-2
> javax.security.auth.Subject.doAs():422
> org.apache.hadoop.security.UserGroupInformation.doAs():1746
> org.apache.drill.exec.work.fragment.FragmentExecutor.run():284
> org.apache.drill.common.SelfCleaningRunnable.run():38
> java.util.concurrent.ThreadPoolExecutor.runWorker():1149
> java.util.concurrent.ThreadPoolExecutor$Worker.run():624
> java.lang.Thread.run():748 Caused By
> (org.apache.drill.exec.exception.ClassTransformationException) Failure
> generating transformation classes for value: package
> org.apache.drill.exec.test.generated; import
> org.apache.drill.exec.exception.SchemaChangeException; import
> org.apache.drill.exec.expr.holders.BigIntHolder; import
> org.apache.drill.exec.expr.holders.BitHolder; import
> org.apache.drill.exec.expr.holders.NullableVarBinaryHolder; import
> org.apache.drill.exec.expr.holders.NullableVarCharHolder; import
> org.apache.drill.exec.expr.holders.VarCharHolder; import
> org.apache.drill.exec.ops.FragmentContext; import
> org.apache.drill.exec.record.RecordBatch; import
> org.apache.drill.exec.vector.UntypedNullHolder; import
> org.apache.drill.exec.vector.UntypedNullVector; import
> org.apache.drill.exec.vector.VarCharVector; public class ProjectorGen35 {
> BigIntHolder const6; BitHolder constant9; UntypedNullHolder constant13;
> VarCharVector vv14; UntypedNullVector vv19; public void doEval(int inIndex,
> int outIndex) throws SchemaChangeException { { UntypedNullHolder out0 = new
> UntypedNullHolder(); if (constant9 .value == 1) { if (constant13 .isSet!= 0)
> { out0 = constant13; } } else { VarCharHolder out17 = new VarCharHolder(); {
> out17 .buffer = vv14 .getBuffer(); long startEnd = vv14
> .getAccessor().getStartEnd((inIndex)); out17 .start = ((int) startEnd); out17
> .end = ((int)(startEnd >> 32)); } //---- start of eval portion of
> convertToNullableVARCHAR function. ----// NullableVarCharHolder out18 = new
> NullableVarCharHolder(); { final NullableVarCharHolder output = new
> NullableVarCharHolder(); VarCharHolder input = out17;
> GConvertToNullableVarCharHolder_eval: { output.isSet = 1; output.start =
> input.start; output.end = input.end; output.buffer = input.buffer; } out18 =
> output; } //---- end of eval portion of convertToNullableVARCHAR function.
> ----// if (out18 .isSet!= 0) { out0 = out18; } } if (!(out0 .isSet == 0)) {
> vv19 .getMutator().set((outIndex), out0 .isSet, out0); } } } public void
> doSetup(FragmentContext context, RecordBatch incoming, RecordBatch outgoing)
> throws SchemaChangeException { { UntypedNullHolder out1 = new
> UntypedNullHolder(); NullableVarBinaryHolder out2 = new
> NullableVarBinaryHolder(); /** start SETUP for function isnotnull **/ {
> NullableVarBinaryHolder input = out2;
> GNullOpNullableVarBinaryHolder$IsNotNull_setup: {} } /** end SETUP for
> function isnotnull **/ //---- start of eval portion of isnotnull function.
> ----// BitHolder out3 = new BitHolder(); { final BitHolder out = new
> BitHolder(); NullableVarBinaryHolder input = out2;
> GNullOpNullableVarBinaryHolder$IsNotNull_eval: { out.value = (input.isSet ==
> 0 ? 0 : 1); } out3 = out; } //---- end of eval portion of isnotnull function.
> ----// if (out3 .value == 1) { UntypedNullHolder out4 = new
> UntypedNullHolder(); if (out4 .isSet!= 0) { out1 = out4; } } else {
> UntypedNullHolder out5 = new UntypedNullHolder(); if (out5 .isSet!= 0) { out1
> = out5; } } /** start SETUP for function castVARBINARY **/ {
> UntypedNullHolder in = out1; BigIntHolder len = const6;
> CastUntypedNullVarBinary_setup: {} } /** end SETUP for function castVARBINARY
> **/ //---- start of eval portion of castVARBINARY function. ----//
> NullableVarBinaryHolder out7 = new NullableVarBinaryHolder(); { if (out1
> .isSet == 0) { out7 .isSet = 0; } else { final NullableVarBinaryHolder out =
> new NullableVarBinaryHolder(); UntypedNullHolder in = out1; BigIntHolder len
> = const6; CastUntypedNullVarBinary_eval: { out.isSet = 0; } out.isSet = 1;
> out7 = out; out.isSet = 1; } } //---- end of eval portion of castVARBINARY
> function. ----// /** start SETUP for function isnotnull **/ {
> NullableVarBinaryHolder input = out7;
> GNullOpNullableVarBinaryHolder$IsNotNull_setup: {} } /** end SETUP for
> function isnotnull **/ //---- start of eval portion of isnotnull function.
> ----// BitHolder out8 = new BitHolder(); { final BitHolder out = new
> BitHolder(); NullableVarBinaryHolder input = out7;
> GNullOpNullableVarBinaryHolder$IsNotNull_eval: { out.value = (input.isSet ==
> 0 ? 0 : 1); } out8 = out; } //---- end of eval portion of isnotnull function.
> ----// constant9 = out8; UntypedNullHolder out10 = new UntypedNullHolder();
> if (out3 .value == 1) { UntypedNullHolder out11 = new UntypedNullHolder(); if
> (out11 .isSet!= 0) { out10 = out11; } } else { UntypedNullHolder out12 = new
> UntypedNullHolder(); if (out12 .isSet!= 0) { out10 = out12; } } constant13 =
> out10; int[] fieldIds15 = new int[ 1 ] ; fieldIds15 [ 0 ] = 0; Object tmp16 =
> (incoming).getValueAccessorById(VarCharVector.class,
> fieldIds15).getValueVector(); if (tmp16 == null) { throw new
> SchemaChangeException("Failure while loading vector vv14 with id:
> TypedFieldId [fieldIds=[0], remainder=null]."); } vv14 = ((VarCharVector)
> tmp16); /** start SETUP for function convertToNullableVARCHAR **/ {
> GConvertToNullableVarCharHolder_setup: {} } /** end SETUP for function
> convertToNullableVARCHAR **/ int[] fieldIds20 = new int[ 1 ] ; fieldIds20 [ 0
> ] = 0; Object tmp21 =
> (outgoing).getValueAccessorById(UntypedNullVector.class,
> fieldIds20).getValueVector(); if (tmp21 == null) { throw new
> SchemaChangeException("Failure while loading vector vv19 with id:
> TypedFieldId [fieldIds=[0], remainder=null]."); } vv19 = ((UntypedNullVector)
> tmp21); } } public void __DRILL_INIT__() throws SchemaChangeException { } }
> org.apache.drill.exec.compile.ClassTransformer.getImplementationClass():330
> org.apache.drill.exec.compile.ClassTransformer.getImplementationClass():223
> org.apache.drill.exec.compile.CodeCompiler$CodeGenCompiler.compile():79
> org.apache.drill.exec.compile.CodeCompiler.makeClass():229
> org.apache.drill.exec.compile.CodeCompiler.access$300():41
> org.apache.drill.exec.compile.CodeCompiler$Loader.load():212
> org.apache.drill.exec.compile.CodeCompiler$Loader.load():209
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache$LoadingValueReference.loadFuture():3708
>
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache$Segment.loadSync():2416
>
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad():2299
>
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache$Segment.get():2212
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache.get():4147
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache.getOrLoad():4151
>
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache$LocalLoadingCache.get():5140
> org.apache.drill.exec.compile.CodeCompiler.createInstances():186
> org.apache.drill.exec.compile.CodeCompiler.createInstance():163
> org.apache.drill.exec.ops.BaseFragmentContext.getImplementationClass():57
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.setupNewSchemaFromInput():570
>
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.setupNewSchema():583
> org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext():101
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext():143
> org.apache.drill.exec.record.AbstractRecordBatch.next():186
> org.apache.drill.exec.physical.impl.BaseRootExec.next():104
> org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext():83
> org.apache.drill.exec.physical.impl.BaseRootExec.next():94
> org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():297
> org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():284
> java.security.AccessController.doPrivileged():-2
> javax.security.auth.Subject.doAs():422
> org.apache.hadoop.security.UserGroupInformation.doAs():1746
> org.apache.drill.exec.work.fragment.FragmentExecutor.run():284
> org.apache.drill.common.SelfCleaningRunnable.run():38
> java.util.concurrent.ThreadPoolExecutor.runWorker():1149
> java.util.concurrent.ThreadPoolExecutor$Worker.run():624
> java.lang.Thread.run():748 Caused By
> (org.codehaus.commons.compiler.CompileException) Line 57, Column 27:
> Assignment conversion not possible from type
> "org.apache.drill.exec.expr.holders.NullableVarCharHolder" to type
> "org.apache.drill.exec.vector.UntypedNullHolder"
> org.codehaus.janino.UnitCompiler.compileError():12211
> org.codehaus.janino.UnitCompiler.assignmentConversion():11062
> org.codehaus.janino.UnitCompiler.compile2():3790
> org.codehaus.janino.UnitCompiler.access$6100():215
> org.codehaus.janino.UnitCompiler$13.visitAssignment():3754
> org.codehaus.janino.UnitCompiler$13.visitAssignment():3734
> org.codehaus.janino.Java$Assignment.accept():4477
> org.codehaus.janino.UnitCompiler.compile():3734
> org.codehaus.janino.UnitCompiler.compile2():2360
> org.codehaus.janino.UnitCompiler.access$1800():215
> org.codehaus.janino.UnitCompiler$6.visitExpressionStatement():1494
> org.codehaus.janino.UnitCompiler$6.visitExpressionStatement():1487
> org.codehaus.janino.Java$ExpressionStatement.accept():2874
> org.codehaus.janino.UnitCompiler.compile():1487
> org.codehaus.janino.UnitCompiler.compileStatements():1567
> org.codehaus.janino.UnitCompiler.compile2():1553
> org.codehaus.janino.UnitCompiler.access$1700():215
> org.codehaus.janino.UnitCompiler$6.visitBlock():1493
> org.codehaus.janino.UnitCompiler$6.visitBlock():1487
> org.codehaus.janino.Java$Block.accept():2779
> org.codehaus.janino.UnitCompiler.compile():1487
> org.codehaus.janino.UnitCompiler.compile2():2476
> org.codehaus.janino.UnitCompiler.access$1900():215
> org.codehaus.janino.UnitCompiler$6.visitIfStatement():1495
> org.codehaus.janino.UnitCompiler$6.visitIfStatement():1487
> org.codehaus.janino.Java$IfStatement.accept():2950
> org.codehaus.janino.UnitCompiler.compile():1487
> org.codehaus.janino.UnitCompiler.compileStatements():1567
> org.codehaus.janino.UnitCompiler.compile2():1553
> org.codehaus.janino.UnitCompiler.access$1700():215
> org.codehaus.janino.UnitCompiler$6.visitBlock():1493
> org.codehaus.janino.UnitCompiler$6.visitBlock():1487
> org.codehaus.janino.Java$Block.accept():2779
> org.codehaus.janino.UnitCompiler.compile():1487
> org.codehaus.janino.UnitCompiler.compile2():2468
> org.codehaus.janino.UnitCompiler.access$1900():215
> org.codehaus.janino.UnitCompiler$6.visitIfStatement():1495
> org.codehaus.janino.UnitCompiler$6.visitIfStatement():1487
> org.codehaus.janino.Java$IfStatement.accept():2950
> org.codehaus.janino.UnitCompiler.compile():1487
> org.codehaus.janino.UnitCompiler.compileStatements():1567
> org.codehaus.janino.UnitCompiler.compile2():1553
> org.codehaus.janino.UnitCompiler.access$1700():215
> org.codehaus.janino.UnitCompiler$6.visitBlock():1493
> org.codehaus.janino.UnitCompiler$6.visitBlock():1487
> org.codehaus.janino.Java$Block.accept():2779
> org.codehaus.janino.UnitCompiler.compile():1487
> org.codehaus.janino.UnitCompiler.compileStatements():1567
> org.codehaus.janino.UnitCompiler.compile():3388
> org.codehaus.janino.UnitCompiler.compileDeclaredMethods():1357
> org.codehaus.janino.UnitCompiler.compileDeclaredMethods():1330
> org.codehaus.janino.UnitCompiler.compile2():822
> org.codehaus.janino.UnitCompiler.compile2():432
> org.codehaus.janino.UnitCompiler.access$400():215
> org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration():411
> org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration():406
> org.codehaus.janino.Java$PackageMemberClassDeclaration.accept():1414
> org.codehaus.janino.UnitCompiler.compile():406
> org.codehaus.janino.UnitCompiler.compileUnit():378
> org.apache.drill.exec.compile.JaninoClassCompiler.doCompile():77
> org.apache.drill.exec.compile.JaninoClassCompiler.getByteCode():49
> org.apache.drill.exec.compile.AbstractClassCompiler.getClassByteCode():53
> org.apache.drill.exec.compile.ClassCompilerSelector.getClassByteCode():128
> org.apache.drill.exec.compile.QueryClassLoader.getClassByteCode():90
> org.apache.drill.exec.compile.ClassTransformer.getImplementationClass():238
> org.apache.drill.exec.compile.ClassTransformer.getImplementationClass():223
> org.apache.drill.exec.compile.CodeCompiler$CodeGenCompiler.compile():79
> org.apache.drill.exec.compile.CodeCompiler.makeClass():229
> org.apache.drill.exec.compile.CodeCompiler.access$300():41
> org.apache.drill.exec.compile.CodeCompiler$Loader.load():212
> org.apache.drill.exec.compile.CodeCompiler$Loader.load():209
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache$LoadingValueReference.loadFuture():3708
>
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache$Segment.loadSync():2416
>
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad():2299
>
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache$Segment.get():2212
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache.get():4147
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache.getOrLoad():4151
>
> org.apache.drill.shaded.guava.com.google.common.cache.LocalCache$LocalLoadingCache.get():5140
> org.apache.drill.exec.compile.CodeCompiler.createInstances():186
> org.apache.drill.exec.compile.CodeCompiler.createInstance():163
> org.apache.drill.exec.ops.BaseFragmentContext.getImplementationClass():57
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.setupNewSchemaFromInput():570
>
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.setupNewSchema():583
> org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext():101
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext():143
> org.apache.drill.exec.record.AbstractRecordBatch.next():186
> org.apache.drill.exec.physical.impl.BaseRootExec.next():104
> org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext():83
> org.apache.drill.exec.physical.impl.BaseRootExec.next():94
> org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():297
> org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():284
> java.security.AccessController.doPrivileged():-2
> javax.security.auth.Subject.doAs():422
> org.apache.hadoop.security.UserGroupInformation.doAs():1746
> org.apache.drill.exec.work.fragment.FragmentExecutor.run():284
> org.apache.drill.common.SelfCleaningRunnable.run():38
> java.util.concurrent.ThreadPoolExecutor.runWorker():1149
> java.util.concurrent.ThreadPoolExecutor$Worker.run():624
> java.lang.Thread.run():748
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)