[ 
http://issues.apache.org/jira/browse/DERBY-280?page=comments#action_12357757 ] 

Satheesh Bandaram commented on DERBY-280:
-----------------------------------------

Thanks for updating the patch, Rick. But I think I found one issue, that 
definitely need fixing. I should have seen these at the first round itself...

The fix can cause NullPointerExceptions. The following check is incorrect.

+ if (
+    ( (newTableName == null) && (oldTableName == null) ) ||
+      ( newTableName.equals( oldTableName ) )
+    )

What happens if newTableName is NULL and oldTableName is NOT NULL? The code 
causes NullPointerException.

ij> select bug280.a, a from bug280 group by a;
ERROR XJ001: Java exception: ': java.lang.NullPointerException'.
ij>


> Wrong result from select when aliasing to same name as used in group by
> -----------------------------------------------------------------------
>
>          Key: DERBY-280
>          URL: http://issues.apache.org/jira/browse/DERBY-280
>      Project: Derby
>         Type: Bug
>   Components: SQL
>     Reporter: Bernt M. Johnsen
>     Assignee: Rick Hillegas
>     Priority: Minor
>  Attachments: bug280.diff
>
> Wrong result from select when aliasing to same name as used in group by. 
> Example:
> If we have the following table:
>     ij> select * from tt;
>     I          |J
>     -----------------------
>     1          |2
>     2          |3
>     1          |2
>     2          |3
>     2          |3
>                                                                               
>                                                                
>     5 rows selected
> The following select is ok:
>     ij> select i, count(*) as cnt from tt group by i;
>     I          |CNT
>     -----------------------
>     1          |2
>     2          |3
>                                                                               
>                                                                
>     2 rows selected
> But this one returns wrong result in the aliased column:
>     ij> select i, count(*) as i from tt group by i;
>     I          |I
>     -----------------------
>     1          |1
>     2          |2
>                                                                               
>                                                                
>     2 rows selected
>                                                                               
>                                                                

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to