You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Roman Kondakov (Jira)" <ji...@apache.org> on 2020/06/09 13:01:00 UTC

[jira] [Updated] (IGNITE-13136) Calcite integration. Improve join predicate testing.

     [ 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)