[ http://issues.apache.org/jira/browse/GERONIMO-1080?page=all ]
Gianny Damour reassigned GERONIMO-1080:
---------------------------------------
Assign To: Gianny Damour
> CMP generates invalid update SQL
> --------------------------------
>
> Key: GERONIMO-1080
> URL: http://issues.apache.org/jira/browse/GERONIMO-1080
> Project: Geronimo
> Type: Bug
> Components: OpenEJB
> Versions: 1.0-M5
> Reporter: Aaron Mulder
> Assignee: Gianny Damour
>
> I have a group of about 5 CMP EJBs, with various relationships defined. I'm
> using PostgreSQL 8. I'm not able to update (well, at least, the two EJBs
> I've tried have both had the problem). I get this error:
> java.sql.SQLException: ERROR: multiple assignments to same column "test_id"
> And indeed the SQL is:
> UPDATE test_run SET test_id = CASE WHEN ? THEN ? ELSE test_id END,
> create_date = CASE WHEN ? THEN ? ELSE create_date END, name = CASE WHEN ?
> THEN ? ELSE name END, description = CASE WHEN ? THEN ? ELSE description END,
> test_id = CASE WHEN ? THEN ? ELSE test_id END WHERE id = ?
> Likewise, for a different table:
> UPDATE test_run_machine SET test_run_id = CASE WHEN ? THEN ? ELSE test_run_id
> END, machine_id = CASE WHEN ? THEN ? ELSE machine_id END, role = CASE WHEN ?
> THEN ? ELSE role END, time_offset_ms = CASE WHEN ? THEN ? ELSE time_offset_ms
> END, test_run_id = CASE WHEN ? THEN ? ELSE test_run_id END, machine_id = CASE
> WHEN ? THEN ? ELSE machine_id END WHERE id = ?
> I speculate that it's noticing the columns once as CMP fields and once as CMR
> fields, or perhaps pulling them in twice if the EJB participates in two
> relationships (even though they wouldn't both use that field) or something.
> In any case, we should always eliminate duplicates, as far as I can tell.
> Also, the CASE..WHEN..THEN..ELSE..END statements seem pretty nasty to me.
> Why don't we just do "update foo set bar=?, baz=?,..."?
--
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