[ZODB-Dev] summary of version discussion

Greg Ward gward@mems-exchange.org
Fri, 6 Dec 2002 09:28:34 -0500


On 05 December 2002, Jeremy Hylton said:
> I'm probably the primary advocate of versions.  My rationale is that
> the locking feature of versions allows long-running actions to be
> performed in a transactional manner.  Since ZODB uses optimistic
> concurrency control, a long-running transaction has a higher chance of
> failing with a conflict error.  In the extreme, it could be impossible
> to commit a long-running transaction because some other transaction
> would always introduce a conflict.

It sounds to me like the right name is "locking transaction".  Or maybe
"pessimistic transaction".  "Long-running transaction" is a possibility,
but that just describes the intended use, not the actual behaviour.
Whatever, I'm pretty sure it's a kind of transaction.  (But I'm a
database ignoramus.)

> I have never written an application that uses versions in this way,
> but the feature seems useful if ZODB is to support applications with
> this requirement.  One could make a YAGNI argument against keeping
> versions for only this reason.

Rule #1: Keep It Simple, Stupid
Rule #2: Keep It Simple, Stupid
[...]
Rule #5: Keep It Simple, Stupid
Rule #6: There is NO rule six!

        Greg
-- 
Greg Ward - software developer                gward@mems-exchange.org
MEMS Exchange                            http://www.mems-exchange.org