You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Igor Seliverstov (Jira)" <ji...@apache.org> on 2020/02/04 13:58:00 UTC

[jira] [Created] (IGNITE-12620) Calcite integration. Index Nested Loop Join/Hash Join

Igor Seliverstov created IGNITE-12620:
-----------------------------------------

             Summary: Calcite integration. Index Nested Loop Join/Hash Join
                 Key: IGNITE-12620
                 URL: https://issues.apache.org/jira/browse/IGNITE-12620
             Project: Ignite
          Issue Type: New Feature
            Reporter: Igor Seliverstov


We may implement the feature the next way:
 # For each row from left node consume whole dataset from right node
 # Pass join condition as an argument of request() method of the right node
 # In case a data source at right is an index scan
 ## If there is no cursor opened - create a new cursor using bounds from request 
 ## If there is an existing cursor - just check the cursor was opened using the same condition as passed one.
 ## After the right node signals EOD consume a next row from left and repeat from p 2.
 # In case a data source at right is a table scan with huge amount of rows
 ## If there is no cursor opened - create a new cursor ignoring passed condition
 ## If there is an existing cursor - just check the cursor was opened using the same condition as passed one.
 ## After the right node signals EOD consume a next row from left and repeat from p 2.
 # In case a data source at right is remote / is a table scan with small number of rows/ is a filter node with good enough selectivity
 ## Create a hash index for a data source
 ## If there is no cursor opened - create a new cursor using bounds from request 
 ## If there is an existing cursor - just check the cursor was opened using the same condition as passed one.
 ## After the right node signals EOD consume a next row from left and repeat from p 2.

 Consider implementation specifics at optimization time, choose the cheapest variant



--
This message was sent by Atlassian Jira
(v8.3.4#803005)