Thomas Marshall has posted comments on this change. ( http://gerrit.cloudera.org:8080/12797 )
Change subject: IMPALA-4356,IMPALA-7331: codegen all ScalarExprs ...................................................................... Patch Set 8: (8 comments) http://gerrit.cloudera.org:8080/#/c/12797/8/be/src/codegen/codegen-anyval.cc File be/src/codegen/codegen-anyval.cc: http://gerrit.cloudera.org:8080/#/c/12797/8/be/src/codegen/codegen-anyval.cc@37 PS8, Line 37: nit: whitespace http://gerrit.cloudera.org:8080/#/c/12797/8/be/src/codegen/llvm-codegen.h File be/src/codegen/llvm-codegen.h: http://gerrit.cloudera.org:8080/#/c/12797/8/be/src/codegen/llvm-codegen.h@44 PS8, Line 44: #include "runtime/collection-value.h" Is this needed? http://gerrit.cloudera.org:8080/#/c/12797/8/be/src/exprs/scalar-expr.h File be/src/exprs/scalar-expr.h: http://gerrit.cloudera.org:8080/#/c/12797/8/be/src/exprs/scalar-expr.h@292 PS8, Line 292: /// TODO: not all root exprs need to be entry point, e.g. if only called from a This TODO might make more sense in ScalarExpr::Create in scalar-expr.cc where the actual call with is_entry_point=true is. http://gerrit.cloudera.org:8080/#/c/12797/8/be/src/exprs/scalar-expr.cc File be/src/exprs/scalar-expr.cc: http://gerrit.cloudera.org:8080/#/c/12797/8/be/src/exprs/scalar-expr.cc@402 PS8, Line 402: // Ensure that Get*Val() can be called on each child by calling with : // is_codegen_entry_point=true. I'm a little confused by this comment - if I understand correctly, Get*Val() can always be called on any ScalarExpr since it can just fall back to the interpreted path, so the point of this is to make sure that when Get*Val() is called on a child it goes through the codegen'd path if possible? http://gerrit.cloudera.org:8080/#/c/12797/8/be/src/exprs/scalar-expr.inline.h File be/src/exprs/scalar-expr.inline.h: http://gerrit.cloudera.org:8080/#/c/12797/8/be/src/exprs/scalar-expr.inline.h@24 PS8, Line 24: typedef BooleanVal (*BooleanValWrapper)(ScalarExprEvaluator*, const TupleRow*); These could be moved into the macro below http://gerrit.cloudera.org:8080/#/c/12797/8/be/src/exprs/scalar-fn-call.cc File be/src/exprs/scalar-fn-call.cc: http://gerrit.cloudera.org:8080/#/c/12797/8/be/src/exprs/scalar-fn-call.cc@485 PS8, Line 485: \ nit: whitespace http://gerrit.cloudera.org:8080/#/c/12797/8/be/src/udf/udf-internal.h File be/src/udf/udf-internal.h: http://gerrit.cloudera.org:8080/#/c/12797/8/be/src/udf/udf-internal.h@300 PS8, Line 300: Also is denser I find this comment confusing. Denser than what? (I assume you mean denser than the previous layout, but someone reading this for the first time wouldn't necessarily have that context) http://gerrit.cloudera.org:8080/#/c/12797/8/tests/query_test/test_tpcds_queries.py File tests/query_test/test_tpcds_queries.py: http://gerrit.cloudera.org:8080/#/c/12797/8/tests/query_test/test_tpcds_queries.py@528 PS8, Line 528: def test_expr_insert(self, vector): I think this test as is will not actually get run in any of our regular builds (something that I stumbled upon when working on https://gerrit.cloudera.org/#/c/12960/). I'm assuming that's not your intention. The issue is that even in EXHAUSTIVE builds, we only run test cases that have a workload of 'functional-query' in exhaustive mode (see how we set the values of --exploration_strategy and --workload_exploration_strategy in bin/run-all-tests.sh), so the check in add_test_dimensions() that disables this in core mode effectively disables it entirely. -- To view, visit http://gerrit.cloudera.org:8080/12797 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I839d7a3a2f5e1309c33a1f66013ef11628c5dc11 Gerrit-Change-Number: 12797 Gerrit-PatchSet: 8 Gerrit-Owner: Tim Armstrong <tarmstr...@cloudera.com> Gerrit-Reviewer: Csaba Ringhofer <csringho...@cloudera.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Gerrit-Reviewer: Michael Ho <k...@cloudera.com> Gerrit-Reviewer: Thomas Marshall <tmarsh...@cloudera.com> Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com> Gerrit-Comment-Date: Fri, 12 Apr 2019 19:59:59 +0000 Gerrit-HasComments: Yes