durusmail: durus-users: Re: Doubt about object loading
Doubt about object loading
2006-04-23
Re: Doubt about object loading
2006-04-24
2006-04-24
2006-04-24
Re: Doubt about object loading
Jesus Cea
2006-04-24
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

David Binger wrote:
> In the durus.serialize module,
> in ObjectReader._get_unpickler.persistent_load().

Oh, I see the fine details about the python pickle machinery explained
at http://docs.python.org/lib/node70.html
(python->doc->lib->pickle->Pickling and unpickling external objects).
Thas was a difficult step to understand, since I was following the
calling tree by mind and I never saw explicit calls to the functions
that really *DO* the magic.

Now I see the light and really understand how Durus works.

Now I understand, for example, how Durus can give the very same object
(same id()) for an object gotten from two different object-graph paths.
Something like this:

root --> A
 |       ^
 |       |
 +--->B--+

The trick is to do a cache check inside the "persistent_load", to give
away the same "A" object, when using both access paths.

Thanks for your time and attention. I had an epiphany :-p

PS: I now undestand also where (and when) a just created persistent
object gets its "oid" :-).

- --
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
jcea@argo.es http://www.argo.es/~jcea/ _/_/    _/_/  _/_/    _/_/  _/_/
jabber / xmpp:jcea@jabber.org         _/_/    _/_/          _/_/_/_/_/
                               _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQCVAwUBREz3NZlgi5GaxT1NAQJIggP/WkEQys16TyTN20s0VJJy/ZjmyZ1JyqZy
jUVCi4g+0LaH3e1F/JyZcJkOpp4/NyIipxlM79jw8xwivwyHO+aT8kxCvdGUat9y
EsSE1YtsWCY1srrxUyMthI6K2DSSK+ZevZZtJ6jusU3ZXALgSmSlQI0KLPw6SSg9
lEmTFpO3XRw=
=UcYE
-----END PGP SIGNATURE-----
reply