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/05/28 08:26:00 UTC
[jira] [Assigned] (IGNITE-12620) Calcite integration. Index Nested
Loop Join/Hash Join
[ https://issues.apache.org/jira/browse/IGNITE-12620?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Igor Seliverstov reassigned IGNITE-12620:
-----------------------------------------
Assignee: Igor Seliverstov
> 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
> Assignee: Igor Seliverstov
> Priority: Major
>
> 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)