Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
git.commit.id.abbrev=e5c2da0
I have the following data as timestamp:
0: jdbc:drill:schema=dfs> select create_time from student_v where student_id=15;
-------------
create_time |
-------------
2014-11-12 12:38:15.0 |
-------------
It fails with compilation error when I cast the create_time column to a date:
0: jdbc:drill:schema=dfs> select cast(create_time as date) from student_v where student_id=15;
Query failed: org.apache.drill.exec.rpc.RpcException: Remote failure while running query.[error_id: "5645a2df-cf15-4e14-aa88-c10559169348"
endpoint {
address: "qa-node64.qa.lab"
user_port: 31010
control_port: 31011
data_port: 31012
}
error_type: 0
message: "Screen received stop request sent. < SchemaChangeException:[ Failure while attempting to load generated class ] < 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.BitHolder;
import org.apache.drill.exec.expr.holders.NullableDateHolder;
import org.apache.drill.exec.expr.holders.NullableTimeStampHolder;
import org.apache.drill.exec.expr.holders.NullableVarBinaryHolder;
import org.apache.drill.exec.ops.FragmentContext;
import org.apache.drill.exec.record.RecordBatch;
import org.apache.drill.exec.vector.NullableDateVector;
import org.apache.drill.exec.vector.NullableVarBinaryVector;
public class ProjectorGen94 {
NullableVarBinaryVector vv0;
NullableDateVector vv6;
public void doSetup(FragmentContext context, RecordBatch incoming, RecordBatch outgoing)
throws SchemaChangeException
{
{
int[] fieldIds1 = new int[ 1 ] ;
fieldIds1 [ 0 ] = 1;
Object tmp2 = (incoming).getValueAccessorById(NullableVarBinaryVector.class, fieldIds1).getValueVector();
if (tmp2 == null)
vv0 = ((NullableVarBinaryVector) tmp2);
/** start SETUP for function castTIMESTAMP **/
{
{}
}
/** end SETUP for function castTIMESTAMP **/
/** start SETUP for function castDATE **/
{
{}
}
/** end SETUP for function castDATE **/
int[] fieldIds7 = new int[ 1 ] ;
fieldIds7 [ 0 ] = 0;
Object tmp8 = (outgoing).getValueAccessorById(NullableDateVector.class, fieldIds7).getValueVector();
if (tmp8 == null)
vv6 = ((NullableDateVector) tmp8);
}
}
public boolean doEval(int inIndex, int outIndex)
throws SchemaChangeException
{
{
NullableVarBinaryHolder out3 = new NullableVarBinaryHolder();
out3 .isSet = vv0 .getAccessor().isSet((inIndex));
if (out3 .isSet == 1) {
}
//---- start of eval portion of castTIMESTAMP function. ----//
NullableTimeStampHolder out4 = new NullableTimeStampHolder();
{
if (out3 .isSet == 0)
else {
final NullableTimeStampHolder out = new NullableTimeStampHolder();
NullableVarBinaryHolder in = out3;
CastVarCharToTimeStamp_eval:
{ byte[] buf = new byte[in.end - in.start]; in.buffer.getBytes(in.start, buf, 0, in.end - in.start); String input = new String(buf, com.google.common.base.Charsets.UTF_8); org.joda.time.format.DateTimeFormatter f = org.apache.drill.exec.expr.fn.impl.DateUtility.getDateTimeFormatter(); out.value = org.joda.time.DateTime.parse(input, f).withZoneRetainFields(org.joda.time.DateTimeZone.UTC).getMillis(); } out.isSet = 1; out4 = out; out.isSet = 1; } }
//---- end of eval portion of castTIMESTAMP function. ----//
//---- start of eval portion of castDATE function. ----//
NullableDateHolder out5 = new NullableDateHolder();
{
if (out4 .isSet == 0)
else {
final NullableDateHolder out = new NullableDateHolder();
NullableTimeStampHolder in = out4;
CastTimeStampToDate_eval:
{ out.value = (new DateMidnight(in.value, DateTimeZone.UTC)).getMillis(); } out.isSet = 1; out5 = out; out.isSet = 1; } }
//---- end of eval portion of castDATE function. ----//
BitHolder out9 = new BitHolder();
out9 .value = 1;
if (!(out5 .isSet == 0)) {
if (!vv6 .getMutator().setSafe((outIndex), out5 .value))
} else {
if (!vv6 .getMutator().isSafe((outIndex))) { out9 .value = 0; }
}
if (out9 .value == 0)
}
{ return true; }}
}
] < CompileException:[ Line 97, Column 34: Cannot determine simple type name "DateMidnight" ]"
]Error: exception while executing query (state=,code=0)