[rucksack-devel] Export

Arthur Lemmens alemmens at xs4all.nl
Tue Jan 16 10:17:01 UTC 2007


"Levente Mészáros wrote:

> While I was thinking of the export machinery I came to the following
> idea. The algorithm traverses the whole database (optionally only
> partial) and dumps it to several lisp source files. Loading and
> running those lisp files will import the database into another
> rucksack.

Yes, I think that's possible.  I have the feeling that actually creating
Lisp source files (that must be compiled/interpreted) is more complicated
than necessary, but it's definitely possible.

> Storing the object -> identity during export

Every persistent object already has a unique ID, so you could just use that
during export.

> and idenity -> object mapping during import

The object table is basically an ID -> object mapping.  Maybe you could use
that during import, I'm not sure.

> I don't know if there's any support for persistent hashtables which
> are not saved/loaded at once but lazily (since they do not fit into
> memory)?

No, not at the moment.  Would be an interesting addition to Rucksack, though.

> Am I right that btrees are sufficient to make a map like a hashtable?

Yes, in the sense that btrees provide a mapping.  No, in the sense that
btrees do not have the typical hash table characteristics.

> Is it allowed to put persistent objects into a btree as keys?

Yes.  If you do that, you may need to provide some or all of the :KEY<,
:VALUE=, :KEY-KEY and :VALUE-KEY initargs.

Arthur




More information about the rucksack-devel mailing list