[
https://issues.apache.org/jira/browse/IGNITE-13136?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Roman Kondakov updated IGNITE-13136:
------------------------------------
Description:
Currently we have to merge joining rows in order to test a join predicate:
{code:java}
Row row = handler.concat(left, rightMaterialized.get(rightIdx++));
if (!cond.test(row))
continue;
{code}
it results in unconditional building a joined row even if it will not be
emitted to downstream further. To avoid extra GC pressure we need to test the
join predicate before joining rows:
{code:java}
if (!cond.test(left, right))
continue;
Row row = handler.concat(left, right);
{code}
was:
Currently we have to merge joining rows in order to test a join predicate:
{code:java}
Row row = handler.concat(left, rightMaterialized.get(rightIdx++));
if (!cond.test(row))
continue;
{code}
it results in unconditional building a joining row even if it will not be
emitted to downstream further. To avoid extra GC pressure we need to test the
join predicate before joining rows:
{code:java}
if (!cond.test(left, right))
continue;
Row row = handler.concat(left, right);
{code}
> Calcite integration. Improve join predicate testing.
> ----------------------------------------------------
>
> Key: IGNITE-13136
> URL: https://issues.apache.org/jira/browse/IGNITE-13136
> Project: Ignite
> Issue Type: Improvement
> Components: sql
> Reporter: Roman Kondakov
> Priority: Minor
>
> Currently we have to merge joining rows in order to test a join predicate:
> {code:java}
> Row row = handler.concat(left, rightMaterialized.get(rightIdx++));
> if (!cond.test(row))
> continue;
> {code}
> it results in unconditional building a joined row even if it will not be
> emitted to downstream further. To avoid extra GC pressure we need to test the
> join predicate before joining rows:
> {code:java}
> if (!cond.test(left, right))
> continue;
> Row row = handler.concat(left, right);
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)