Dmitry Lychagin has posted comments on this change.
Change subject: [ASTERIX-2430][COMP] Avoid inlining function calls in WITH in
AST rewritting
......................................................................
Patch Set 5:
I'm worried about regressions it might introduce. For example if we take
runtimets/queries_sqlpp/dapd/q2-11/q2-11.3.query.sqlpp and put a function call
into a WITH expression: WITH t AS ARRAY_COUNT(.....)
Then it won't be inlined because of this change, but the query will fail with
IndexOutOfBoundsException.
java.lang.IndexOutOfBoundsException
at
org.apache.hyracks.data.std.util.ByteArrayAccessibleOutputStream.write(ByteArrayAccessibleOutputStream.java:75)
~[classes/:?]
at java.io.DataOutputStream.write(DataOutputStream.java:107)
~[?:1.8.0_161]
at
org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder.addField(ArrayTupleBuilder.java:101)
~[classes/:?]
at
org.apache.hyracks.algebricks.runtime.operators.std.AssignRuntimeFactory$1.produceTuple(AssignRuntimeFactory.java:162)
~[classes/:?]
I think we first need to investigate these kinds of failures when WITH variable
inlining is disabled, because with this change a WITH expression becomes
non-inlinable if it starts with a function call (.e.g. ARRAY_*(subquery)) .
Try disabling this rule completely and run the SqlppExecutionTest. When I did
that there were several different kinds of failures: IndexOutOfBounds in the
above mentioned dapd/q2-11, but also NPE in tpcds/q59, type error in tpcds/q95,
and q18_large_volume_customer_failure failed with out of disk space. Let's
investigate those before we decide whether to make this change or not.
--
To view, visit https://asterix-gerrit.ics.uci.edu/2874
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I18afbe4165ca84c790d7693a7a7bd5f6fd53187a
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <[email protected]>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Dmitry Lychagin <[email protected]>
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-HasComments: No