[Dieter Maurer] > Subtransactions used to be used for two purposes: > > * ensure that newly created objects get "_p_" attributes > (especially "_p_jar" and "_p_oid") > > * release memory in the mid of large transactions > (i.e. reading and/or writing large amounts of objects) > > With ZODB 3.4, subtransactions are implemented as savepoints. They can > still be used for the first purpose. But, they no longer start cache > garbage collection. > > As a consequence, subtransactions/savepoints can be dropped at places > where only the second purpose has mattered, e.g. in Zope's ZCatalog.
Over on zodb-dev, Jim (Fulton) confirmed that it was his intent that making a savepoint would trigger cache gc. It's a ZODB bug that it currently does not; I'll fix that: -----Original Message----- From: [EMAIL PROTECTED] On behalf of Jim Fulton Sent: Tuesday, August 23, 2005 2:53 PM To: Tim Peters Cc: zodb-dev@zope.org Subject: Re: [ZODB-Dev] Subtransaction backward compatibility ... Assuming that we no longer call incrgc, that would be an oversight. When a connection does a savepoint, it should also do an incrgc. Note that applications that *really* want to reduce memory after a savepoint may and often should make explicit cache-management calls on the transaction. This should still work. Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714 http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )