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)