On Sat, Oct 25, 2008 at 2:57 PM, Andreas Jung <[EMAIL PROTECTED]> wrote:
> On 25.10.2008 14:53 Uhr, Hedley Roos wrote:
>>> I'd love if this wouldn't be a monkey patch.
>> So would I, but I couldn't find another way in this case.
>>> Also, there is nothing that makes this integrate correctly with
>>> transactions. Your cache will happily deliver never-committed data and
>>> also it will not isolate transactions from each other.
>> I patched 4 methods - clear, search, catalogObject, uncatalogObject.
>> Method clear is the simplest one - I simply flush the cache.
>> Methods catalogObject and uncatalogObject both invalidate the cache.
>> Should the transaction fail later the only drawback is that you threw
>> a few things out of the cache. They'll soon be re-entered by
>> subsequent searches.
> Using a DataManager is likely the better and more safe choice.
> Andreas

Thanks Andreas. I'll have a look at your code when available.

Christian, I do have a mistake in my reasoning. If an object is added
to the catalog in a transaction and I cache that object as result of a
query in that same transaction, and then the transaction fails I'll
have a bad cache.

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

Reply via email to