You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Tianyi Wang (JIRA)" <ji...@apache.org> on 2017/08/08 17:11:00 UTC

[jira] [Resolved] (IMPALA-5572) Support timestamp codegen for text scanner

     [ https://issues.apache.org/jira/browse/IMPALA-5572?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tianyi Wang resolved IMPALA-5572.
---------------------------------
    Resolution: Fixed

Fixed in https://gerrit.cloudera.org/#/c/7556/

> Support timestamp codegen for text scanner
> ------------------------------------------
>
>                 Key: IMPALA-5572
>                 URL: https://issues.apache.org/jira/browse/IMPALA-5572
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Backend
>    Affects Versions: Impala 2.10.0
>            Reporter: Tim Armstrong
>            Assignee: Tianyi Wang
>            Priority: Minor
>              Labels: codegen, perfomance
>
> 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():
> {code}
>     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;
>     }
> {code}
> 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.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)