Re: Can't modify EO objects! ARGH! =(
Re: Can't modify EO objects! ARGH! =(
- Subject: Re: Can't modify EO objects! ARGH! =(
- From: Art Isbell <email@hidden>
- Date: Thu, 17 Jul 2003 11:50:48 -1000
On Thursday, July 17, 2003, at 03:49 AM, Goodbye Bill wrote:
com.webobjects.eoaccess.EOGeneralAdaptorException:
updateValuesInRowDescribedByQualifier --
com.webobjects.jdbcadaptor.JDBCChannel method failed to update row in
database
One reason this can occur is because the "where" clause in the
"update" statement contains values that might suffer from round-off
error (e.g., floats). Timestamps can be troublesome if the JDBC driver
isn't converting the timestamp to the local timezone correctly. Or
string data might contain trailing space characters that are stripped
off in the "where" clause so they no longer match. The "where" clause
values in the generated SQL must be compared with the actual values in
the DB to determine whether this is occurring. This can be difficult
because it's not always easy to "see" what's actually stored in the DB.
The attributes included in an update "where" clause are those marked
as used for locking (the lock icon in EOModeler). The more attributes
used for locking, the slower the update statement might be because all
of these attribute values must be matched. Ideally, an entity includes
a "lastUpdated" timestamp attribute. If so, only it would be used for
locking, and it would be updated upon each update by any process that
can update the DB. This isn't possible if all DB clients don't update
the lastUpdated attribute when they update a row.
Aloha,
Art
_______________________________________________
webobjects-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/webobjects-dev
Do not post admin requests to the list. They will be ignored.