Pavel Pereslegin created IGNITE-27765:
-----------------------------------------

             Summary: Sql. Support batching in CorrelatedNestedLoopJoinNode
                 Key: IGNITE-27765
                 URL: https://issues.apache.org/jira/browse/IGNITE-27765
             Project: Ignite
          Issue Type: Improvement
          Components: sql ai3
            Reporter: Pavel Pereslegin


As for now, a SharedState class for storing correlates in execution context and 
is used by CorrelatedNestedLoopJoinNode (CNLJN) execution node.
Seems, CorrelatedNestedLoopJoinNode was designed to use batching for correlates 
variables, to transfer many rows at a time, but implemented in wrong way, and 
this just don't work.


We should fix the SharedState class to make batching possible, by allowing set 
multiple rows for the same correlate id. 
Most likely, we must keep correlates hierarchy order to preserve CNLJN 
collation. Correlate id number doesn't have this guarantee) in case of more 
than one correlate.
It may turn out that passing batches for parent correlates is useless, because 
we can spool only child batch at a time to preserve the collation.
Thus, SharedState maybe split or changed it's structure, to separate 
correlates, which where received from parent fragment, and current correlates 
to be passed to child fragment.


Let's improve SharedState class structure to support batching, by allowing 
multiple rows for same correlate and resolve ordering issue (if it exists).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to