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

Noemi Pap-Takacs updated IMPALA-13191:
--------------------------------------
    Labels: performance  (was: easyfix performance)

> Do Not Create Sort Node with Constant Ordering Expression
> ---------------------------------------------------------
>
>                 Key: IMPALA-13191
>                 URL: https://issues.apache.org/jira/browse/IMPALA-13191
>             Project: IMPALA
>          Issue Type: Bug
>          Components: fe, Frontend
>            Reporter: Noemi Pap-Takacs
>            Priority: Major
>              Labels: performance
>
> Rows are sorted before inserting into partitioned Iceberg tables. See 
> Planner.createPreDmlSort().
> If we update the partitioning column of the table, the sort ordering 
> expression will be the partition column. If we set the new value to a 
> constant (writing only to 1 partition), it will be evaluated as a constant. 
> Therefore the Sort Node will get a constant ordering expression and works 
> unnecessarily ordering indistinct values.
> For example:
> {code:java}
> create table ice_part partitioned by spec (l_discount) stored by iceberg 
> tblproperties('format-version'='2') as select * from tpch_parquet.lineitem 
> where l_linenumber=1;
> explain update ice_part set l_discount=0.11 where l_discount>0.07;
> {code}
> The output of explain - the plan - contains a Sort Node with the following 
> ordering expression:
> {code:java}
> 04:SORT
> |  order by: 0.11 ASC NULLS LAST
> {code}
> It is unnecessary to create a Sort Node to sort rows by a constant ordering 
> expression. Constant expressions should be omitted,  just like empty ones.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to