Evgeny Stanilovsky created IGNITE-25504:
-------------------------------------------

             Summary: Sql. Confusing explain output for join condition
                 Key: IGNITE-25504
                 URL: https://issues.apache.org/jira/browse/IGNITE-25504
             Project: Ignite
          Issue Type: Task
          Components: sql ai3
            Reporter: Evgeny Stanilovsky


Confusing condition found:

{noformat}
    MergeJoin
        condition: =(VAL1, VAL10) <---  VAL10 what does it mean ?
        joinType: inner
        est: (rows=1)
      IndexScan
          table: PUBLIC.T1
          index: IDX1
          type: SORTED
          fields: [ID, VAL1]
          collation: [VAL1 ASC]
          est: (rows=1)
      IndexScan
          table: PUBLIC.T2
          index: IDX2
          type: SORTED
          fields: [ID, VAL1]
          collation: [VAL1 ASC, ID ASC]
          est: (rows=1)
{noformat}

to reproduce:

with @WithSystemProperty(key = COLOCATION_FEATURE_FLAG, value = "true")

{noformat}
        sql("CREATE TABLE T1 (ID INT, VAL1 VARCHAR, VAL2 VARCHAR, PRIMARY 
KEY(VAL1, VAL2)) COLOCATE BY(VAL1);");
        sql("CREATE TABLE T2 (ID INT, VAL1 VARCHAR, VAL2 VARCHAR, PRIMARY 
KEY(VAL1, VAL2)) COLOCATE BY(VAL1);");
        sql("CREATE INDEX IDX1 ON T1(VAL1, VAL2);");
        sql("CREATE INDEX IDX2 ON T2(VAL1, ID);");
        List<List<Object>> res = sql("explain plan for SELECT T1.ID as T1ID, 
T2.ID as T2ID FROM T1 JOIN T2 USING (VAL1);");
        System.err.println("plan: " + res.get(0));
{noformat}




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

Reply via email to