[elephant-devel] gp-export strikes back

Henrik Hjelte henrik at evahjelte.com
Thu Feb 4 15:59:19 UTC 2010


On Thu, Feb 4, 2010 at 12:53 PM, Alex Mizrahi <killerstorm at newmail.ru> wrote:
>  hi
> Problems with this approach:
>  1) To deal with circular references or just objects being referenced from
> multiple places, it keeps track of objects it already visited, and in case
> it is encountered again, it writes object reference instead. That is, there
> is a hash-table which references all objects and structures you're
> exporting. This might be a bad idea if database is large and does not fit
> into memory.
>
> Particularly, it needs to track references to all objects, structures,
> vectors and conses. It does not need to track object slots and string,
> though. So, if database is large because of large pieces of text, it is not
> a problem. But if database is large because there are lots of objects, it is
> a problem.

I have an idea: we could have a second elephant database used only for
reference tracking. It does not have to have the same backend,
bdb will probably be the best choice at all time. This should be easy
to implement and avoid the problem completely?
Make we can make its use an option, after all if a hashtable works for
you there should be no need to configure a "backup-helper-db".

> I don't like any of these particularly, but if we're going to make more
> accurate name,
> my suggestion is "clod-exim". It is supposed to mean "Commom Lisp object
> database export and import".
> It is important to mention both export and import, as some people might
> think it does only export.
> (Dictionary says that "clod" is "a big clumsy often slow-witted person",
> this kind of reflects issues I've mentioned above :)

This is a perfect name, the dictionary meaning also makes me think of
the original author.

/Henrik




More information about the elephant-devel mailing list