[
https://issues.apache.org/jira/browse/IGNITE-27765?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Pereslegin updated IGNITE-27765:
--------------------------------------
Summary: Sql. Support batching for correlate variables in
CorrelatedNestedLoopJoinNode (was: Sql. Support batching in
CorrelatedNestedLoopJoinNode)
> Sql. Support batching for correlate variables 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
> Priority: Major
> Labels: ignite-3
>
> 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)