Tim Peters wrote:
Probably none for many apps.  You'll be working with possibly non-current
data, so think of ways your apps could possibly be damaged by that.  For
example, you're Bill Gates, using ZODB to track all your assets.  A summary
report takes hours to generate, and by the time you get it, perhaps a few of
your billion-dollar overseas accounts were wiped out in the wee hours by an
adverse court judgment, but the total you get added in the account values as
of the time the report-generating transaction began.  Oops.  To the extent
that MVCC hides that you're working with non-current data, to that extent
also does an app relying on current data become vulnerable.  When Bill is
contemplating fleeing the country during turbulent times, he presumably
needs to know how much cash he has right now, not what he had last night.
Most apps aren't like that, but a one-size-fits-all policy for long-running
transactions (like Bill's) doesn't exist.

Ah, okay. That all makes sense...

Of course, Bill may appreciate having a report that says "based on data no newer than X" where X is the time the transaction to generate the report started, rather than no report at all due to lots of read conflicts ;-)


Zope-Dev maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )

Reply via email to