You should be right. I gonna try using evaluateSQLWithEntityNamed to put the DELAYED instruction. (Ray'solution is interesting but I'm using an AUTO_INCREMENT pk to avoid a round trip to the database.)
BTW if a Mysql guru read this email (Kieran?) is there a real gain to use DELAYED instruction? Cheong, I forgot to answer you but SELECT PK FROM EO_PK_TABLE WHERE NAME = 'NO_Sent_Notification_Request_Log_TEST' returns a pk when I use the workbench. Philippe Sent from my iPhone On 7 sept. 2011, at 19:20, Chuck Hill <[email protected]> wrote: > Hi Philippe, > > > On 2011-09-04, at 7:49 AM, Philippe Rabier wrote: > >> Hi all, >> >> Not a question but a feedback if you have the same issue but I don't have >> explanation and I didn't look for any. >> >> Env: >> WO 5.4.3, java 6 on Mac OS X 10.6.7, Eclipse 3.4, Wonder a bit old (several >> months), MySQL v5.0.88 >> >> Context: >> DA where informations are checked, fetched then if everything is fine, >> informations are saved. At the end, we write into a log the request plus the >> result and some informations (IP address, …). >> >> When informations are saved, I decided to use EOUtilities.rawRowsForSQL to >> execute an insert sql command in order to optimize the complete R-R. > > I think that is the root of the problem: "EOUtilities.rawRowsForSQL" and > "execute an insert sql command". rawRows is for a SELECT and uses > evaluateExpression. That is not compatible with an INSERT statement. My > guess is that it leaves something inside EOF in a bad state. What you should > use for this is ERXEOAccessUtilities.evaluateSQLWithEntityNamed. > > Chuck > > >> >> Then I write into the log the request, result, … as I said. >> >> If the insert command is executed, when the log is saved (through its >> editingContext), I got an exception when the adaptor tries to get a new >> primary key: >> >> Sep 04 14:52:56 YNP_NOWebServicesApp[5000] DEBUG NSLog - Searching for >> primary key value for NO_Sent_Notification_Request_Log_TEST >> Sep 04 14:52:56 YNP_NOWebServicesApp[5000] DEBUG NSLog - >> evaluateExpression: >> <com.webobjects.jdbcadaptor._MySQLPlugIn$MySQLExpression: "SELECT PK FROM >> EO_PK_TABLE WHERE NAME = 'NO_Sent_Notification_Request_Log_TEST' FOR UPDATE" >> withBindings: > >> Sep 04 14:52:56 YNP_NOWebServicesApp[5000] INFO >> er.extensions.ERXAdaptorChannelDelegate.sqlLogging - "Unknown"@795485135 >> expression took 232 ms: SELECT PK FROM EO_PK_TABLE WHERE NAME = >> 'NO_Sent_Notification_Request_Log_TEST' FOR UPDATE >> Sep 04 14:52:56 YNP_NOWebServicesApp[5000] DEBUG NSLog - fetch canceled >> Sep 04 14:52:56 YNP_NOWebServicesApp[5000] DEBUG NSLog - 0 row(s) processed >> Sep 04 14:52:56 YNP_NOWebServicesApp[5000] INFO >> er.transaction.adaptor.Exceptions - Database Exception occured: >> java.lang.IllegalArgumentException: Array is empty >> >> If I replace EOUtilities.rawRowsForSQL with >> ERXEOAccessUtilities.insertRow(ec, >> NOAppOpenedAfterPushEvent.Keys.ENTITY_NAME, dic), everything works great. >> >> For those who were wondering why I wanted to use >> EOUtilities.rawRowsForSQL(), the reason is that I wanted to use "INSERT >> DELAYED INTO ". >> >> Have a good sunday. >> >> Philippe >> >> _______________________________________________ >> Do not post admin requests to the list. They will be ignored. >> Webobjects-dev mailing list ([email protected]) >> Help/Unsubscribe/Update your Subscription: >> http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net >> >> This email sent to [email protected] > > -- > Chuck Hill Senior Consultant / VP Development > > Practical WebObjects - for developers who want to increase their overall > knowledge of WebObjects or who are trying to solve specific problems. > http://www.global-village.net/products/practical_webobjects > > > > > > >
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [email protected]
