You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "chenglei (JIRA)" <ji...@apache.org> on 2019/02/21 01:50:00 UTC

[jira] [Updated] (PHOENIX-5148) Improve OrderPreservingTracker to optimize OrderBy/GroupBy for ClientScanPlan and ClientAggregatePlan

     [ https://issues.apache.org/jira/browse/PHOENIX-5148?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

chenglei updated PHOENIX-5148:
------------------------------
    Description: 
Given a table
{code:java}
  create table test ( 
       pk1 varchar not null , 
       pk2 varchar not null, 
       pk3 varchar not null,
        v1 varchar, 
        v2 varchar, 
        CONSTRAINT TEST_PK PRIMARY KEY ( 
              pk1,
              pk2,
              pk3 ))
{code}

Consider following three cases:
- 1. OrderBy of ClientScanPlan

for sql:
{code}
select v1 from (select v1,v2,pk3 from test t where pk1 = '6' order by t.v2,t.pk3,t.v1 limit 10) a order by v2,pk3
{code}

Obviously, the outer OrderBy "order by v2,pk3" should be compiled out because it matchs the inner query OrderBy "order by t.v2,t.pk3,t.v1"  , but unfortunately  it is not compiled out.


> Improve OrderPreservingTracker to optimize OrderBy/GroupBy for ClientScanPlan and ClientAggregatePlan
> -----------------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-5148
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5148
>             Project: Phoenix
>          Issue Type: Improvement
>    Affects Versions: 4.14.1
>            Reporter: chenglei
>            Priority: Major
>
> Given a table
> {code:java}
>   create table test ( 
>        pk1 varchar not null , 
>        pk2 varchar not null, 
>        pk3 varchar not null,
>         v1 varchar, 
>         v2 varchar, 
>         CONSTRAINT TEST_PK PRIMARY KEY ( 
>               pk1,
>               pk2,
>               pk3 ))
> {code}
> Consider following three cases:
> - 1. OrderBy of ClientScanPlan
> for sql:
> {code}
> select v1 from (select v1,v2,pk3 from test t where pk1 = '6' order by t.v2,t.pk3,t.v1 limit 10) a order by v2,pk3
> {code}
> Obviously, the outer OrderBy "order by v2,pk3" should be compiled out because it matchs the inner query OrderBy "order by t.v2,t.pk3,t.v1"  , but unfortunately  it is not compiled out.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)