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)