[ https://issues.apache.org/jira/browse/IGNITE-24709?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Maksim Timonin updated IGNITE-24709: ------------------------------------ Description: For SQL query {code:java} select t0.id from t0 where exists (select * from t1 where t0.jid = t1.jid) {code} SQL engine extracts full rows from T0, but should ignore some columns and use only 'id, jid'. See plan of the query : {code:java} IgniteProject(ID=[$0]) IgniteCorrelatedNestedLoopJoin(condition=[true], joinType=[inner], variablesSet=[[$cor0]], variablesSet=[[0]], correlationVariables=[[$cor0]]) IgniteTableScan(table=[[PUBLIC, T0]]) IgniteColocatedHashAggregate(group=[{0}]) IgniteTableScan(table=[[PUBLIC, T1]], filters=[=($cor0.JID, $t0)], projects=[[true]], requiredColumns=[{1}]) {code} IgniteProject(ID) must be replaced with IgniteTableScan#requiredColumns. was: For SQL query {code:java} select t0.id from t0 where exists (select * from t1 where t0.jid = t1.jid) {code} SQL engine extracts full rows from T0, but should ignore some columns and use only 'id, jid'. IgniteTableScan#requiredColumns should not be null. See plan of the query: {code:java} IgniteProject(ID=[$0]) IgniteCorrelatedNestedLoopJoin(condition=[true], joinType=[inner], variablesSet=[[$cor0]], variablesSet=[[0]], correlationVariables=[[$cor0]]) IgniteTableScan(table=[[PUBLIC, T0]]) IgniteColocatedHashAggregate(group=[{0}]) IgniteTableScan(table=[[PUBLIC, T1]], filters=[=($cor0.JID, $t0)], projects=[[true]], requiredColumns=[{1}]) {code} > Add PROJECT_CORRELATE rule to HEP push down list > ------------------------------------------------ > > Key: IGNITE-24709 > URL: https://issues.apache.org/jira/browse/IGNITE-24709 > Project: Ignite > Issue Type: Bug > Reporter: Maksim Timonin > Assignee: Maksim Timonin > Priority: Major > Labels: ise > Fix For: 2.18 > > Time Spent: 20m > Remaining Estimate: 0h > > For SQL query > {code:java} > select t0.id from t0 where exists (select * from t1 where t0.jid = t1.jid) > {code} > SQL engine extracts full rows from T0, but should ignore some columns and use > only 'id, jid'. > See plan of the query : > {code:java} > IgniteProject(ID=[$0]) > IgniteCorrelatedNestedLoopJoin(condition=[true], joinType=[inner], > variablesSet=[[$cor0]], variablesSet=[[0]], correlationVariables=[[$cor0]]) > IgniteTableScan(table=[[PUBLIC, T0]]) > IgniteColocatedHashAggregate(group=[{0}]) > IgniteTableScan(table=[[PUBLIC, T1]], filters=[=($cor0.JID, $t0)], > projects=[[true]], requiredColumns=[{1}]) > {code} > > IgniteProject(ID) must be replaced with IgniteTableScan#requiredColumns. -- This message was sent by Atlassian Jira (v8.20.10#820010)