[ZODB-Dev] ZODB4 project plan
Phillip J. Eby
pje@telecommunity.com
Wed, 27 Nov 2002 11:22:01 -0500
At 10:17 AM 11/27/02 -0500, Guido van Rossum wrote:
>That's funny. I am pleading to remove them, because (even though Zope
>*supports* them) we recommend against using them in Zope; no Zope
>sites that I know of use them. Jeremy wants to keep them, because he
>thinks they are a useful feature in theory, and he was expecting
>(hoping?) that some non-Zope user of ZODB would come up with a use
>case. But it seems the strongest "drop'em" sounds come from the
>MEMS-Exchange group, who are ZODB users but not Zope users. :-)
>
>My conclusion: versions are a big YAGNI. Let's rip'em out.
Speaking of YAGNI's and ZODB4, does anybody have any actual use cases for
nested transactions? I notice that's listed on the project plan, but I
thought that discussion on the Persistence-SIG suggested them to be overkill.
The main use case for "subtransactions" in ZODB presently, is to free up
cache space by flushing dirty objects. But that use case has nothing to do
with transaction semantics; when you add a subtransaction for that, you do
it essentially as a "special case" fix for high-write-volume
operations. So as Shane pointed out, providing data managers with a
"flush()" method would not only address the specific issue in context, it
would be easier to explain code that uses it.
Interestingly, from the comments so far about versions, it sounds as though
improved "long transaction" support would be much more valuable than nested
transaction support for many kinds of applications.