geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Hogstrom <m...@hogstrom.org>
Subject Re: AW: Geronimo CMP update statements
Date Thu, 26 Jan 2006 16:21:46 GMT
Michael,

Add the following lines in your plan:

<!--  For Oracle database users uncomment the following line.
 
<ejb-ql-compiler-factory>org.tranql.ejbqlcompiler.OracleQLCompilerFactory</ejb-ql-compiler-factory>
 
<db-syntax-factory>org.tranql.sql.oracle.OracleDBSyntaxFactory</db-syntax-factory>
-->

These go after the cmp-connection factory.  Let me know if this fixes the problem.

Ueberbach, Michael wrote:
> Hello,
> 
> I think there is another problem concerning this issue.
> Using an Oracle database (9i) I get this error when updating a cmr- field:
> 
> (...)
> Caused by: org.tranql.ql.QueryException: Error executing statement: UPDATE konto SET
erzeugt = CASE WHEN ? THEN ? ELSE erzeugt END, bankname = CASE WHEN ? THEN ? ELSE bankname
END, bankleitzahl = CASE WHEN ? THEN ? ELSE bankleitzahl END, kontonummer = CASE WHEN ? THEN
? ELSE kontonummer END, kontostand = CASE WHEN ? THEN ? ELSE kontostand END, fk_person = CASE
WHEN ? THEN ? ELSE fk_person END WHERE guid = ?
> (...)
> Caused by: java.sql.SQLException: ORA-00920: invalid relational operator 
> 
> This not the case when using MySQL.
> 
> regards
> Michael
> 
> 
> -----Urspr√ľngliche Nachricht-----
> Von: Gianny Damour [mailto:gianny.damour@optusnet.com.au]
> Gesendet: Donnerstag, 26. Januar 2006 13:16
> An: user@geronimo.apache.org
> Betreff: Re: Geronimo CMP update statements
> 
> 
> Hi Dan,
> 
> At the beginning, I was not seeing this as an issue. Based on your 
> remark that triggers are wrongly fired, I now see this as an issue that 
> needs to be fixed.
> 
> Could you please raise a JIRA for this problem?
> 
> Thanks,
> Gianny
> 
> Daniel John Debrunner wrote:
> 
> 
>>At ApacheConUS 2005 I talked with Matt Hogstrom about the SQL UPDATE
>>statements Geronimo was issuing against Derby for DayTrader.
>>
>>A single UPDATE statement is generated for a table that updates all
>>columns using a CASE statement to ensure un-modified columns are not
>>changed, or in reality changed to the same value. An example is
>>described in GERONIMO-1080, the syntax may be a little different for Derby.
>>
>>http://issues.apache.org/jira/browse/GERONIMO-1080
>>
>>I see two issues with this approach, one is that for Derby this is
>>inefficient, and two, and probably more important, all SQL update
>>triggers will fire due to this modification of all columns. Thus if an
>>application defines a trigger on update of the address column of a
>>customer table, then when using Geronimo this trigger will fire, even if
>>the CMP application is only updating the customer's balance. This just
>>seems the wrong semantics to me.
>>
>>Matt had said this was a known issue, and that it was going to be fixed.
>>The comments in GERONIMO-1080 seem to indicate that this may not be seen
>>as an issue, though those comments are dated before ApacheCon.
>>
>>I searched Jira and couldn't see any bug for changing this, are there
>>any plans to address this?
>>
>>Thanks,
>>Dan.
>>
>>
>>
>> 
>>
> 
> 
> 
> 
> 
> 

Mime
View raw message