Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
Impala 2.10.0
-
ghx-label-2
Description
Codegen is disabled when scanning text tables with timestamp columns. The message is "Timestamp not yet supported for codegen."
The supported types use cross-compiled conversion functions in TextConverter::CodegenWriteSlot():
IRFunction::Type parse_fn_enum; Function* parse_fn = NULL; switch (slot_desc->type().type) { case TYPE_BOOLEAN: parse_fn_enum = IRFunction::STRING_TO_BOOL; break; case TYPE_TINYINT: parse_fn_enum = IRFunction::STRING_TO_INT8; break; case TYPE_SMALLINT: parse_fn_enum = IRFunction::STRING_TO_INT16; break; case TYPE_INT: parse_fn_enum = IRFunction::STRING_TO_INT32; break; case TYPE_BIGINT: parse_fn_enum = IRFunction::STRING_TO_INT64; break; case TYPE_FLOAT: parse_fn_enum = IRFunction::STRING_TO_FLOAT; break; case TYPE_DOUBLE: parse_fn_enum = IRFunction::STRING_TO_DOUBLE; break; default: DCHECK(false); return NULL; }
TimestampValue::Parse() does not implement the same interface as the other functions but I think we could either change the interface or cross-compile an adapter function.