Zhimin Wu created KYLIN-5830:
--------------------------------

             Summary: When the query connects two or more tables, the query 
results are inconsistent whether the order by field is in the select field or 
not
                 Key: KYLIN-5830
                 URL: https://issues.apache.org/jira/browse/KYLIN-5830
             Project: Kylin
          Issue Type: New Feature
          Components: Query Engine
    Affects Versions: 5.0-beta
            Reporter: Zhimin Wu
            Assignee: Zhimin Wu
             Fix For: 5.0.0


Q1:
{{}}
{code:java}
select CUSTOMER.C_PHONE
-- ,LO_PARTKEY
from SSB.CUSTOMER left join SSB.LINEORDER on 
CUSTOMER.C_CUSTKEY=LINEORDER.LO_CUSTKEY
order by LINEORDER.LO_PARTKEY NULLS LAST
LIMIT 500{code}
{{}}
Calcite Plan:
{{}}
{code:java}
KapProjectRel(C_PHONE=[$6], ctx=[])
  KapLimitRel(ctx=[], fetch=[500])
    KapSortRel(sort0=[$12], dir0=[ASC], ctx=[])
      KapJoinRel(condition=[=($0, $11)], joinType=[left], ctx=[])
        KapTableScan(table=[[SSB, CUSTOMER]], ctx=[1@NDataflow [test]], 
fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
        KapTableScan(table=[[SSB, LINEORDER]], ctx=[2@NDataflow [test1]], 
fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]]){code}
{{}}
Q2:
{{}}
{code:java}
select CUSTOMER.C_PHONE
,LO_PARTKEY
from SSB.CUSTOMER left join SSB.LINEORDER on 
CUSTOMER.C_CUSTKEY=LINEORDER.LO_CUSTKEY
order by LINEORDER.LO_PARTKEY NULLS LAST
LIMIT 500{code}
{{}}
Calcite Plan
{{}}
{code:java}
KapLimitRel(ctx=[], fetch=[500])
  KapSortRel(sort0=[$1], dir0=[ASC], ctx=[])
    KapProjectRel(C_PHONE=[$6], LO_PARTKEY=[$12], ctx=[])
      KapJoinRel(condition=[=($0, $11)], joinType=[left], ctx=[])
        KapTableScan(table=[[SSB, CUSTOMER]], ctx=[1@NDataflow [test]], 
fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
        KapTableScan(table=[[SSB, LINEORDER]], ctx=[2@NDataflow [test1]], 
fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]])
{code}
{{}}



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

Reply via email to