[
https://issues.apache.org/jira/browse/CALCITE-3762?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
hezhang updated CALCITE-3762:
-----------------------------
Attachment: image-2020-02-01-01-29-49-479.png
> AggregateProjectPullUpConstantsRule causes fields to be out of order
> --------------------------------------------------------------------
>
> Key: CALCITE-3762
> URL: https://issues.apache.org/jira/browse/CALCITE-3762
> Project: Calcite
> Issue Type: Bug
> Components: core
> Affects Versions: 1.10.0, 1.16.0
> Reporter: hezhang
> Priority: Major
> Fix For: 1.16.0
>
> Attachments: image-2020-02-01-01-29-49-479.png
>
>
> the sql:
> {code:java}
> select * FROM( SELECT plat, category, rid, populary_num FROM
> panda_com.crawler_anchor WHERE
> par_date = '20180819'
> AND plat = 'huya'
> AND rid = 'meijiao'
> ) a
> JOIN
> (
> SELECT DISTINCT
> 'huya' plat ,
> edwin.privatehost ,
> edwin.profileroom
> FROM
> panda_com.ol_huya_isOnline edwin
> WHERE
> par_date = '20180819' ) m9
> ON
> a.rid= m9.privatehost
> AND a.plat = m9.plat{code}
> the result:
>
> {code:java}
> huya yule meijiao 30 huya 10001242 meijiao
> {code}
>
> but the desired result is:
>
> {code:java}
> huya yule meijiao 30 huya meijiao 10001242
> {code}
>
> *cause:*
> hepPlanner use AggregateProjectPullUpConstantsRule :
> {code:java}
> HiveProject(plat=[$0], category=[$1], rid=[$2], populary_num=[$3],
> plat1=[$4], privatehost=[$5], profileroom=[$6]) HiveJoin(condition=[true],
> joinType=[inner], algorithm=[none], cost=[not available])
> HiveProject(plat=[CAST(_UTF-16LE'huya'):VARCHAR(2147483647) CHARACTER SET
> "UTF-16LE" COLLATE "ISO-8859-1$en_US$primary"], category=[$3],
> rid=[CAST(_UTF-16LE'meijiao'):VARCHAR(2147483647) CHARACTER SET "UTF-16LE"
> COLLATE "ISO-8859-1$en_US$primary"], populary_num=[$5])
> HiveFilter(condition=[AND(=($12, _UTF-16LE'20180819'), =($7,
> _UTF-16LE'huya'), =($0, _UTF-16LE'meijiao'))])
> HiveTableScan(table=[[panda_com.crawler_anchor]],
> table:alias=[crawler_anchor]) HiveProject(plat=[_UTF-16LE'huya'],
> privatehost=[$1], profileroom=[$2]) HiveProject($f0=[_UTF-16LE'huya'],
> $f1=[$0], $f2=[$1]) HiveProject($f1=[$0],
> $f2=[CAST(_UTF-16LE'meijiao'):VARCHAR(2147483647) CHARACTER SET "UTF-16LE"
> COLLATE "ISO-8859-1$en_US$primary"]) HiveAggregate(group=[{2}])
> HiveProject($f0=[_UTF-16LE'huya'],
> $f1=[CAST(_UTF-16LE'meijiao'):VARCHAR(2147483647) CHARACTER SET "UTF-16LE"
> COLLATE "ISO-8859-1$en_US$primary"], $f2=[$4])
> HiveFilter(condition=[AND(=($19, _UTF-16LE'20180819'),
> =(CAST(_UTF-16LE'meijiao'):VARCHAR(2147483647) CHARACTER SET "UTF-16LE"
> COLLATE "ISO-8859-1$en_US$primary", $8))])
> HiveTableScan(table=[[panda_com.ol_huya_isonline]], table:alias=[edwin])
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)