-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
David Binger wrote:
> Okay. I'll add those two to Storage.
Thanks.
> It sounds like you are implementing a Storage.
> That's good.
Nice. Yes, I'm implementing a BerkeleyDB backend storage. A family of
storages, actually.
I'm just finishing my first member of the family. It is a full featured
storage with a *IMPORTANT* caveat: the persistent structure MUST BE a
tree. That is, each element can only have a parent. This is a limitation
I impose to simplify garbage collection.
In a tree each node can only have a parent. So, if that link is deleted
a no other link is stablished in the same transaction, you can safety
remove that node and its childs. A tree can't have cycles, either.
I know that a tree can be a limiting factor, although I don't need a
general graph in my current applications (a mailbox storage pool). In
fact you can use "weak" links to create a general graph, if you use the
name of a node instead of its OID and explicitally check for existence
in your aplication.
In any case, I plan to do a full garbage collection implementation in
the future.
I have several small issues, nevertheless. For example, objects come to
the storage engine already serialized. I would rather prefer to do the
serialization myself. I don't need, for example, to keep the first eight
bytes of the object in the database, since that is the OID and I already
have the OID as the database key.
Could those storage engines be included in future Durus releases or must
I to create a "contribution" webpage in my personal site?.
- --
Jesus Cea Avion _/_/ _/_/_/ _/_/_/
jcea@argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/
_/_/ _/_/ _/_/_/_/_/
PGP Key Available at KeyServ _/_/ _/_/ _/_/ _/_/ _/_/
"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
iQCVAwUBRBXvsJlgi5GaxT1NAQK9jQP/S1kXP9DZOjuxHkMYN9Y6ASDoiYVtPvJH
cKRKDA2Trd9VrVxtStUkkKoLKrQPU7TazVD80sFKilqFebnqwcHxJVrrw3fzYXnt
yRRqXGWpjQKBLLz7kbDie40Wu8t9Q2abB+/gxe+nNnb+tc+3tfoPqI9ZCTyPym1e
nwPn1Zj0UQo=
=7g0r
-----END PGP SIGNATURE-----