[ZODB-Dev] Re: [Zope3-dev] Re: ClientStorage vs DemoStorage broken in Zope 3.2?

2006-04-25 Thread Christian Theune
Hi again,

Am Mittwoch, den 26.04.2006, 08:05 +0200 schrieb Christian Theune:
> I remembered there was a fix like that. Unfortunately that fix was
> ported to the 3.6 branch actually. I'm poking around myself a bit more. 
> 
> What I found right now is that BaseStorage accesses an attribute "_oid"
> on the Storage given as a Base to find the highest oid currently used.
> This is used for the new_oid implementation as a comment right before it
> tells.
> 
> I'll keep looking and try to find a fix.

Now. I found a way to fix it, by letting BaseStory in its __init__
method only do:

 self._oid = base._oid

by changin this to read:

 if hasattr(base, '_oid'):
   self._oid = base._oid

Obviously this code is the same in the 3.4 branch, but doesn't break
over there, so I'm pretty sure I'm only fixing symptoms, not the real
cause.

Christian

-- 
gocept gmbh & co. kg - forsterstraße 29 - 06112 halle/saale - germany
www.gocept.com - [EMAIL PROTECTED] - phone +49 345 122 9889 7 -
fax +49 345 122 9889 1 - zope and plone consulting and development


signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] Re: [Zope3-dev] Re: ClientStorage vs DemoStorage broken in Zope 3.2?

2006-04-25 Thread Christian Theune
Hi,

Am Dienstag, den 25.04.2006, 23:50 -0400 schrieb Tres Seaver:
> 
> Smells like a fix didn't get forward-ported somehow -- that looks like
> the same error I helped Tim find and fix for Zope 2.
> 
> CC'ing the ZODB list just in case anyone there has a better memory.
> Here is the NEWS.txt entry for that fix:
> 
> 
>  DemoStorage
>  ---
> 
>  - (3.4a4) Appropriate implementations of the storage API's
>``registerDB()`` and ``new_oid()`` methods were added, delegating to
>the base storage.  This was needed to support wrapping a ZEO client
>storage as a ``DemoStorage`` base storage, as some new Zope tests
>want to do.

I remembered there was a fix like that. Unfortunately that fix was
ported to the 3.6 branch actually. I'm poking around myself a bit more. 

What I found right now is that BaseStorage accesses an attribute "_oid"
on the Storage given as a Base to find the highest oid currently used.
This is used for the new_oid implementation as a comment right before it
tells.

I'll keep looking and try to find a fix.

Christian

-- 
gocept gmbh & co. kg - forsterstraße 29 - 06112 halle/saale - germany
www.gocept.com - [EMAIL PROTECTED] - phone +49 345 122 9889 7 -
fax +49 345 122 9889 1 - zope and plone consulting and development


signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev