Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-4356

Automatically codegen expressions with any root Expr node

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • Impala 2.8.0
    • Impala 3.3.0
    • Backend

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              tarmstrong Tim Armstrong
              tarmstrong Tim Armstrong
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: