gianm opened a new pull request #9545: SQL support for joins on subqueries.
URL: https://github.com/apache/druid/pull/9545
 
 
   Changes to SQL module:
   
   - DruidJoinRule: Allow joins on subqueries (left/right are no longer
     required to be scans or mappings).
   - DruidJoinRel: Add cost estimation code for joins on subqueries.
   - DruidSemiJoinRule, DruidSemiJoinRel: Removed, since DruidJoinRule can
     handle this case now.
   - DruidRel: Remove Nullable annotation from toDruidQuery, because
     it is no longer needed (it was used by DruidSemiJoinRel).
   - Update Rules constants to reflect new rules available in our current
     version of Calcite. Some of these are useful for optimizing joins on
     subqueries.
   - Rework cost estimation to be in terms of cost per row, and place all
     relevant constants in CostEstimates.
   - Remove maxQueryCount and maxSemiJoinRowsInMemory properties
     from the SQL layer, since the responsibility for handling subqueries has
     moved down into the native query layer. There's no replacement for
     maxQueryCount (I don't think it's necessary). The replacement for
     maxSemiJoinRowsInMemory is maxSubqueryRows.
   
   Other changes:
   
   - RowBasedColumnSelectorFactory: Don't set hasMultipleValues. The lack
     of isComplete is enough to let callers know that columns might have
     multiple values, and explicitly setting it to true causes
     ExpressionSelectors to think it definitely has multiple values, and
     treat the inputs as arrays. This behavior interfered with some of the
     new tests that involved queries on lookups.
   - QueryContexts: Add maxSubqueryRows parameter, and use it in druid-sql
     tests.

----------------------------------------------------------------
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