[ZODB-Dev] George Bailey'd objects cause failure in FileStorage._loadBack

Toby Dickenson tdickenson@geminidataloggers.com
Thu, 31 Oct 2002 14:57:37 +0000


On Thursday 31 October 2002 1:55 pm, Jeremy Hylton wrote:
> >>>>> "TD" =3D=3D Toby Dickenson <tdickenson@geminidataloggers.com> wri=
tes:
>
>   TD> Hmmm. For diagnosic purposes, would it be a useful to have:
>
>   TD> class POSGeorgeBaileyKeyError(POSKeyError):
>   TD>     pass
>
> I don't think you'd get a KeyError.  A GB object will still be in the
> database until a pack, right? =20

Yes and no.

It is in the database, because it has a history.

Ignoring its historical state; its *current* state is the same as before =
it=20
had been created. How can anything other than a KeyError be correct?


There are some interesting boundary conditions in DirectoryStorage relati=
ng to=20
this. I had previously believed that DirectoryStorage prevented writing=20
transactions with a dangling reference, however it will allow references =
to=20
George Bailey objects. I think this is a bug.