On Tuesday 25 December 2001 09:30 pm, Edmund Lian wrote:
> I'm wondering how MiddleKit users are dealing with the issue of
> transactions. As far as I can tell, the notion of commits and
> rollbacks are not fully implemented in ObjectStore.py--methods like
> revertChanges(self) raise NotImplemented errors).
> Why I ask is because I'm used to the traditional RDBMS notions of
> transactions (and ACIDity) and not at all used to using an
> object-relational layer. I think that there might be situations where
> one wants to commit several objects to persistant storage atomically,
> but without support for transactions in MiddleKit (or MySQL for that
> matter), how does everybody cope? Do you really drop down to
> unwinding your .saveChanges() method calls by hand (i.e., with code)?
> Isn't this a bit icky?
MiddleKit (MK) doesn't have transaction support. In my applications,
this has not been critical since [a] we've never experienced a failure
and [b] our data is valuable, but not necessarily "mission critical"
(like a customer checking account balance).
Nevertheless MK _should_ support transactions, but this feature
implementation is not scheduled any time soon (unless you want to
contract me for it). Interestingly, I've heard (but not confirmed) that
the Python Programming Patterns book builds an OO multithreaded
transaction module/tool/whatever. That could be useful input.
Also, there will be some kind of meeting or BOF about ORM,
transactions, etc. involving both MiddleKit and ZODB folks at Python 10.
In the present, your choices are to live without this or build it. If
you choose the latter, I would be happy to answer your questions and
have discussions about it. I designed and wrote most of MK, and Geoff T
did some major work as well (delete, bugfixes, etc.).
BTW Your question was not dumb. :-)