[Grok-dev] Re: STORM howto

Christian Klinger cklinger at novareto.de
Fri Mar 14 06:34:01 EDT 2008

Hi Sebastian,

in nva/stormcontainer/container.py there is a method called

     def __setitem__(self, name, item):
         store = getUtility(IZStorm).get(self.getStoreUtilityName())

just comment out the #transaction.commit()

The tests pass with no errors. I have to ask on storm mailing list
if this is ok without transaction.commit .

I´m working on a new release for the stormcontainer maybe this is also
a issue for it.

HTH Christian

> Excellent. Let me know how and when I can test this update :)
> Mvh Sebastian
> 14 mar 2008 kl. 10.29 skrev Christian Klinger:
>>>> The transaction.commit() fires also an rdb.commit. This means on 
>>>> every insert there is a commit.
>>>> But maybe it is possible to delete the transaction.commit() in 
>>>> __setitem__, and rely on zopes transaction.commit.?
>>> I do not think any library or framework should ever do a commit itself.
>>> You should hook properly into the zope transaction manager. Any
>>> premature commit can result in inconsistent or erroneous data in your
>>> database. And reducing the number of commits will have a huge impact on
>>> performance.
>> Hi Wichert,
>> thx for this info. I will delete the transaction.commit() run the 
>> tests. and see if it works again... :-))
>> Christian
>>> Wichert.

More information about the Grok-dev mailing list