[ 
https://issues.apache.org/jira/browse/CALCITE-2102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16298686#comment-16298686
 ] 

Julian Hyde commented on CALCITE-2102:
--------------------------------------

It should not throw. It is valid SQL.

Remember, when you write {{ORDER BY x, y}} you are saying to use {{y}} as a 
tie-break when two rows have the same {{x}} value. If you provide a useless 
expression for {{y}} it's silly but it's still valid SQL.

> SqlToRelConverter (or perhaps RelBuilder) ignore repeat sort keys. In 
> addition, it should also prevent the incompatible sort keys.
> ----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CALCITE-2102
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2102
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: John Fang
>            Assignee: Julian Hyde
>
>         I test the  query {{SELECT a, c FROM MyTable ORDER BY a DESC, a 
> DESC}}. And the collation of LogicalSort is {{[0 DESC, 0 DESC]}} , thus it 
> will order by the repeater fields. I think the calcite should removal the 
> repeated fields, thus it make the LogicalSort whose collation is {{[0 DESC]}} 
> be more reasonable. 
>       Considering compatibility,it may be better make {{SqlToRelConverter}} 
> (or perhaps RelBuilder) ignore sort keys that have appeared earlier in the 
> key. In addition, it should also prevent the incompatible sort keys. It 
> should throw illegalargumentexception for the query {{SELECT a, c FROM 
> MyTable ORDER BY a DESC, a ASC}} because of the incompatibility.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to