gianm opened a new pull request, #18549:
URL: https://github.com/apache/druid/pull/18549
This patch updates the default value of
druid.expressions.allowVectorizeFallback to true.
In addition, there are the following fixes and improvements:
1) Remove safe_divide's explicit "return false" override for canVectorize,
allowing it to fallback vectorize.
2) Fix getExponent's long-typed vectorized implementation. (It was casting
to float, so the exponent was inconsistent with the non-vector version,
which cast to double.)
3) Fix json_query_array's reported output type (was COMPLEX<json>, should
be ARRAY<COMPLEX<json>>).
4) FallbackVectorProcessor and Div now have their errors wrapped using
FunctionErrorReportingExprVectorProcessor, which handles errors
similarly to how FunctionExpr does it. (Div is the only already-vectorized
math function that we expect to throw errors).
5) ColumnarFrameCursorFactory now uses itself as the inspector for
canVectorize, rather than its signature. The signature returns
"unknown" for "hasMultipleValues", which leads to things being
non-vectorizable that really should be vectorizable.
6) Add many more functions to VectorExprResultConsistencyTest, and update
it to test negative numbers and zero. Because zero can lead to exceptions
in division functions, the test code is also updated to verify equivalence
of the thrown exceptions.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]