gianm opened a new pull request #9648: SQL: More straightforward handling of 
join planning.
URL: https://github.com/apache/druid/pull/9648
 
 
   Two major changes that simplify how joins are planned:
   
   1) Stop using JoinProjectTransposeRule as a way of guiding subquery
   removal. Instead, add logic to DruidJoinRule that identifies removable
   subqueries and removes them at the point of creating a DruidJoinQueryRel.
   This approach reduces the size of the planning space and allows the
   planner to complete quickly.
   
   2) Remove rules that reorder joins. Not because of an impact on the
   planning time (it seems minimal), but because the decisions that the
   planner was making in the new tests were sometimes worse than the
   user-provided order. I think we'll need to go with the user-provided
   order for now, and revisit reordering when we can add more smarts to
   the cost estimator.
   
   A third change updates numeric ExprEval classes to store their
   value as a boxed type that corresponds to what it is supposed to be.
   This is useful because it affects the behavior of "asString", and
   is included in this patch because it is needed for the new test
   "testInnerJoinTwoLookupsToTableUsingNumericColumnInReverse". This
   test relies on CAST('6', 'DOUBLE') stringifying to "6.0" like an
   actual double would.
   
   Fixes #9646.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to