[ 
https://issues.apache.org/jira/browse/OPENJPA-312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12520116
 ] 

Kevin Sutter commented on OPENJPA-312:
--------------------------------------

Daniel, Thanks for the updated patch.  Per our side discussion, I am making a 
couple of slight changes to your patch, but the intent is still there.  Thanks 
for resolving this issue.  I will be committing the changes shortly.

Kevin

> derby fails with duplicate primary key(s) in group by list
> ----------------------------------------------------------
>
>                 Key: OPENJPA-312
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-312
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: sql
>    Affects Versions: 1.0.0
>            Reporter: Daniel Lee
>            Assignee: Daniel Lee
>            Priority: Minor
>             Fix For: 1.0.0
>
>         Attachments: OPENJPA-312.patch, OPENJPA-312.patch, OPENJPA-312.patch
>
>
> derby fails with duplicate primary key(s) in group by list
> With query "select o.customer, avg(o.amount) from Order o group by 
> o.customer" the push-down query contains duplicate columns in the group by 
> clause.  This is okay when DB2 and other DB that tolerate the duplicates but 
> Derby returns error.
> Of course, we can ask fix on Derby but we can also easy fix in OpenJPA to 
> avoid duplicates in the group by list.  Please refer to the following for the 
> error result and the attach patch for the fix.
> Output from running the query that generate duplicate in the group by list:
> 6429  demo  TRACE  [main] openjpa.Query - Executing query: select o.customer, 
> avg(o.amount) from Order o group by o.customer
> 6639  demo  TRACE  [main] openjpa.jdbc.SQL - <t 1094861122, conn 1639735740> 
> executing prepstmnt 1405375428 SELECT t1.countryCode, t1.id, t1.version, 
> t1.city, t1.state, t1.street, t1.zip, t1.creditRating, t1.name, 
> AVG(t0.amount) FROM Order t0 INNER JOIN Customer t1 ON 
> t0.customer_countryCode = t1.countryCode AND t0.customer_id = t1.id GROUP BY 
> t1.countryCode, t1.id, t1.version, t1.countryCode, t1.id, t1.city, t1.state, 
> t1.street, t1.zip, t1.countryCode, t1.id, t1.creditRating, t1.name 

-- 
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