[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())
store.add(item)
#transaction.commit()
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