[rucksack-devel] tests

Arthur Lemmens alemmens at xs4all.nl
Fri Jan 12 22:23:33 UTC 2007


Levente Mészáros wrote:

> Here is an simple export machinery for rucksack. It transforms the
> rucksack database into a lambda form which when called imports it into
> another rucksack. Some tests included.

Thanks, interesting.

The most important reason I see for an import/export facility is that this
may make it easier to move between different versions of Rucksack's file
format.  To make that possible (and to make sure that import/export version
also works for big rucksacks), you'd need to add some features to your
current implementation:

- In general, you can't assume that all persistent objects fit in memory.
   (If they do, probably more than 50% of Rucksack's code is not necessary.)
   This means that using a hash-table to map from object ids to objects
   will not work in general.  You'll need something disk-based instead.
   The object-table file, for example...

- For big rucksacks, you'll create an enormously big lambda form.  You can't
   expect that your Lisp implementation will be able to compile such a form
   (it may not even be able to read it).

- You'd need to export (and import) everything that Rucksack saves on disk.
   This includes the schema table, for example.  And everything that Rucksack
   can serialize, including hash tables and arrays.

Arthur




More information about the rucksack-devel mailing list