I've been working with the Postgres patches for Middlekit and found a
bug in the PostgreSQLObjectStore.  New objects can be added to the
store just fine, but changes to objects are not saved.  I've tracked
the problem down to the fact that the connection used to commit the
changes after all are executed in PostgreSQLObjectStore.saveChanges()
is not the same connection    that provides the cursor used to execute
the update SQL statement in PostgreSQLObjectStore._executeSQL.  

I believe this is due to the fact that data connection pooling is
turned off.  Turning it on results in a keyword error in the Postgres
DB api constructor (it does not know about the 'db' keyword).

A fix is to add a line:  conn.commit()  to SQLObjectStore.executeSQL
after the call to self._executeSQL( cur, ... around line 344.

This fix will get me running, but I beleive it creates a problem in
that the update of all changed objects is now not atomic since the data
is committed after each object update instead of after all changed
objects are updated.    

Does anyone more familiar with Middlekit have any comments - are these
assumptions correct?  Is this a reasonable fix?

Thanks for any help or opionions.

=====
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kevin Dahlhausen                              'Do' or 'do not.' There is no 'Try.' 
 http://members.nccw.net/kdahlhaus/              -Yoda

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Webware-discuss mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/webware-discuss

Reply via email to