Looking at the current (not Jims new) pack algorithm to optimize
the reachability analysis, I recognized a behaviour that looks
like a potential data loss through packing.
The potential data loss can occur when an object unreachable at
pack time becomes reachable again after pack time.
The curren
"ZODB.fsIndex" tells us in its source code documentation that it splits
the 8 byte oid into a 6 byte prefix and a two byte suffix and
represents the index by an "OOBTree(prefix -> fsBucket(suffix -> position))"
It explains that is uses "fsBucket" (instead of a full tree) because
the "suffix -> po
On Jan 21, 2008, at 5:00 AM, Dieter Maurer wrote:
Looking at the current (not Jims new) pack algorithm to optimize
the reachability analysis, I recognized a behaviour that looks
like a potential data loss through packing.
I will be applying my changes to the trunk soon.
The potential data
On Jan 21, 2008, at 6:09 AM, Dieter Maurer wrote:
"ZODB.fsIndex" tells us in its source code documentation that it
splits
the 8 byte oid into a 6 byte prefix and a two byte suffix and
represents the index by an "OOBTree(prefix -> fsBucket(suffix ->
position))"
It explains that is uses "fs
Marius Gedminas wrote at 2008-1-21 00:08 +0200:
>Personally, I'd be afraid to use deepcopy on a persistent object.
A deepcopy is likely to be no copy at all.
As Python's "deepcopy" does not know about object ids, it is likely
that the copy result uses the same oids as the original.
When you
Dieter,
This is fine for me I believe. I only needed to have a copy of an
object for a short while after the ZODB connection has closed with no
intention of ever inserting it back into zodb. Out of curiousity, what
would be the proper way to accomplish this task?
Thanks for your time,
Jim Fulton wrote at 2008-1-21 09:41 -0500:
> ... resurrections after pack time may get lost ...
>I'm sure the new pack algorithm is immune to this. It would be
>helpful to design a test case to try to provoke this.
I fear, we can not obtain full immunity at all -- unless we perform
packing offl
ZODB 3.8 if available at:
http://pypi.python.org/pypi/ZODB3
There you will find a source release and windows binaries for Python
2.4 and 2.5.
Jim
--
Jim Fulton
Zope Corporation
___
For more information about ZODB, see the ZODB Wiki:
http://w
On Jan 21, 2008, at 1:27 PM, Dieter Maurer wrote:
Jim Fulton wrote at 2008-1-21 09:41 -0500:
... resurrections after pack time may get lost ...
I'm sure the new pack algorithm is immune to this. It would be
helpful to design a test case to try to provoke this.
I fear, we can not obtain full