You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Tim Armstrong (JIRA)" <ji...@apache.org> on 2019/05/15 22:38:01 UTC

[jira] [Resolved] (IMPALA-4356) Automatically codegen expressions with any root Expr node

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

Tim Armstrong resolved IMPALA-4356.
-----------------------------------
       Resolution: Fixed
    Fix Version/s: Impala 3.3.0

> Automatically codegen expressions with any root Expr node
> ---------------------------------------------------------
>
>                 Key: IMPALA-4356
>                 URL: https://issues.apache.org/jira/browse/IMPALA-4356
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Backend
>    Affects Versions: Impala 2.8.0
>            Reporter: Tim Armstrong
>            Assignee: Tim Armstrong
>            Priority: Major
>              Labels: codegen
>             Fix For: Impala 3.3.0
>
>
> Currently Impala only automatically codegens expression subtrees with ScalarFnCall at the root. This is the expression type used to implement many but not all expressions (including most builtin operators). One example of an expression that is not automatically codegened is  "case" statements.
> The crux of this is to move ScalarFnCall::scalar_fn_wrapper_ into ScalarExpr (and probably rename it). There are some consequential changes required to make this work. Instead of each ScalarExpr subclass overriding Get*Val(), I think Get*Val() should be a non-virtual method of ScalarExpr that either calls the codegen'd function or calls into Get*ValInterpreted(), which would be the new virtual function.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)