[ 
https://issues.apache.org/jira/browse/DERBY-2351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12505472
 ] 

Bryan Pendleton commented on DERBY-2351:
----------------------------------------

The SQL Standard appears to agree with the conclusion that queries such as 
those Yip has constructed should be rejected as invalid. Here's a brief 
synopsis of why I think the standard says this:

- Section 14.1 (2003 standard) covers DECLARE CURSOR.
- Syntax Rule 18 covers the ORDER BY clause
- Syntax Rule 18.d.i covers the case in which the ORDER BY clause contains a 
sort key that contains a column reference to a column that is not a column of 
the result of the query expression
- Syntax Rule 18.d.i.9.B.II states:

  QS shall not specify the <set quantifier> DISTINCT or directly contain one or 
more <set function specification>s.

So I propose to modify the ORDER BY column checking so that it rejects such 
queries.


> ORDER BY with expression with distinct in the select list returns incorrect 
> result
> ----------------------------------------------------------------------------------
>
>                 Key: DERBY-2351
>                 URL: https://issues.apache.org/jira/browse/DERBY-2351
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.2.2.0, 10.3.0.0
>         Environment: Any
>            Reporter: Yip Ng
>            Assignee: Bryan Pendleton
>         Attachments: reproTests.diff
>
>
> When distinct is in the select list and the query has order by with 
> expression, the resultset produced contains an additional column.  
> ij> create table t1 (c1 int, c2 varchar(10))
> 0 rows inserted/updated/deleted
> ij> insert into t1 values (1,'a'),(2,'b'),(3,'c');
> 3 rows inserted/updated/deleted
> select distinct c1, c2 from t1 order by c1;
> C1         |C2
> ----------------------
> 1          |a
> 2          |b
> 3          |c
> 3 rows selected
> ij> select distinct c1, c2 from t1 order by c1+1;
> C1         |C2        |3                                 <=====returns 3 
> columns, incorrect result returned
> ----------------------------------
> 1          |a         |2
> 2          |b         |3
> 3          |c         |4
> 3 rows selected

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to