db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bryan Pendleton (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-2351) ORDER BY with expression with distinct in the select list returns incorrect result
Date Sun, 17 Jun 2007 03:31:25 GMT

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

Bryan Pendleton updated DERBY-2351:
-----------------------------------

    Attachment: derby_2351.diff

Attached is derby_2351.diff, which is not for commit. This patch
proposal is close, but not quite correct.

The problem with this patch proposal is that it rejects

  SELECT distinct emp.* FROM employee emp ORDER BY emp.name

At the moment of "pull-up" processing, "emp.name" does not appear
in the result set of the query expression ("emp.*"), and so the change
rejects it, even though later in bind processing it would be the case
that "emp.name" *does* appear, and hence should be allowed, once
the all-columns wildcard is expanded.

I'll take another shot at this change later, but wanted to capture this
first attempt in the JIRA record anyway, as it represents a step along
my thinking about the problem.

> 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: derby_2351.diff, 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.


Mime
View raw message