- Jun 20, 2011
-
-
Arthur Lemmens authored
Don't assume that non-simple strings always have fill-pointers when serializing. Thanks to pixel@kepibu.org.
-
- May 27, 2009
-
-
Arthur Lemmens authored
Fix a bug in the creation of transaction-ids (bug reported by Klaus Harbo).
-
- Mar 31, 2008
-
-
Arthur Lemmens authored
Don't use wildcards but delete only the four rucksack files when opening an existing Rucksack in :SUPERSEDE mode (bug reported by Volkan YAZICI).
-
- Mar 02, 2008
-
-
Arthur Lemmens authored
-
Arthur Lemmens authored
EQUAL argument wasn't supplied.
-
- Feb 19, 2008
-
-
Arthur Lemmens authored
by persistent btrees for non-unique slot indexes.
-
- Feb 11, 2008
-
-
Arthur Lemmens authored
-
Arthur Lemmens authored
-
Arthur Lemmens authored
-
Arthur Lemmens authored
and using a lazy-cache. Fixed some small bugs. Added a few handy functions and macros. In detail: Added P-PUSH and P-POP. Improved btree efficiency by switching to a different data structure for the bindings. Instead of using a persistent cons for each key/ value pair, we now put the keys and values directly into the bnode vector. This speeds up most btree operations because it reduces persistent consing when adding new values and it reduces indirections when searching for keys. Renamed BTREE-NODE to BNODE, BTREE-NODE-INDEX to BNODE-BINDINGS, BTREE-NODE-INDEX-COUNT to BNODE-NR-BINDINGS, FIND-BINDING-IN-NODE to FIND-KEY-IN-NODE. Fix a missing argument bug in REMOVE-CLASS-INDEX. Added a LAZY-CACHE which just clears the entire hash table whenever the cache gets full. This improves memory usage, because the normal cache queue kept track of a lot of objects that for some reason couldn't be cleaned up by the implementation's garbage collector. Added the convenience macros RUCKSACK-DO-CLASS and RUCKSACK-DO-SLOT. Made RUCKSACK-DELETE-OBJECT an exported symbol of the RUCKSACK package. Fix a bug in TEST-NON-UNIQUE-BTREE: it should call CHECK-NON-UNIQUE-CONTENTS instead of CHECK-CONTENTS.
-
Arthur Lemmens authored
-
- Feb 03, 2008
-
-
Arthur Lemmens authored
Fixed a garbage collector bug reported by Sean Ross. When the garbage collector deletes object ids from the object table (because the objects are dead and we may want to reuse their ids later for other objects), it should also remove that object from the cache. If it doesn't, there's a possibility that the object id will be reused later for a new object and the cache wil still refer to the old in-memory object.
-
- Jan 31, 2008
-
-
Arthur Lemmens authored
Class and slot indexes now map directly to objects instead of object-ids. This fixes a bug where the garbage collector forgot to add all indexed objects to the root set. (Suggested by Sean Ross.) Increased default cache size to 100,000 objects.
-
Arthur Lemmens authored
to fix a compiler warning reported by Brad Beveridge.
-
- Jan 24, 2008
-
-
Arthur Lemmens authored
causes a transaction rollback.
-
Arthur Lemmens authored
-
- Jan 23, 2008
-
-
Arthur Lemmens authored
-
Arthur Lemmens authored
-
Arthur Lemmens authored
-
Arthur Lemmens authored
Add Brad Beveridge's basic unit test suite (modified to work with lisp-unit instead of 5am). Add Chris Riesbeck's lisp-unit library to help with creating unit test suites.
-
- Jan 22, 2008
-
-
Arthur Lemmens authored
Use (ARRAY-DIMENSION buffer 0) instead of LENGTH in LOAD-BUFFER, because we want to ignore the fill pointer here. Thanks to Sean Ross.
-
Arthur Lemmens authored
- Fix some typos (:VALUE should be :VALUE=) in index.lisp. - Version 0.1.11.
-
- Jan 16, 2008
-
-
Arthur Lemmens authored
the position of the key. Reported and fixed by Leonid Novikov.
-
- Aug 13, 2007
-
-
Arthur Lemmens authored
Abe, not by Henrik Hjelte.
-
- Aug 12, 2007
-
-
Arthur Lemmens authored
from a leaf, we should update the parents so they'll use the key that has now become the biggest. (Henrik Hjelte.) Try to signal an error when an incompatible value is given to indexed slots, e.g. trying to put a string into a slot with a :symbol-index. (Henrik Hjelte) Signal an error during when putting duplicate values into a slot for which duplicate values are not allowed. (Henrik Hjelte) Use BTREE-VALUE-TYPE, not BTREE-KEY-TYPE, when type checking a value during BTREE-INSERT. (Henrik Hjelte) Wrap COMPILE-FILE calls in a WITH-COMPILATION-UNIT to prevent superfluous warnings about undefined functions.
-
- Mar 13, 2007
-
-
Arthur Lemmens authored
Add RUCKSACK-DELETE-OBJECT, RUCKSACK-DELETE-OBJECTS and RUCKSACK-ROOT-P (suggested by Henrik Hjelte). I haven't tested these functions yet.
-
- Jan 22, 2007
-
-
Arthur Lemmens authored
-
Arthur Lemmens authored
works on SBCL. (Thanks to Levente Mészáros.)
-
- Jan 20, 2007
-
-
Arthur Lemmens authored
(thanks to Attila Lendvai).
-
- Jan 16, 2007
-
-
Cyrus Harmon authored
* add new parameter *collect-garbage-on-commit* * add (:inhibit-gc nil) keyword arg to with-transaction * add without-rucksack-gcing macro * only collect garbage on transaction-commit when *collect-garbage-on-commit* is not nil
-
Cyrus Harmon authored
* use binary search instead of linear search in find-subnode and find-binding-in-node
-
Cyrus Harmon authored
* btree-max-node-size now defaults to 32 instead of 100
-
Cyrus Harmon authored
* propogate unique fropm the direct slot-definition(s) to the effective slot definition
-
- Nov 30, 2006
-
-
Arthur Lemmens authored
The :EQUAL parameter for MAP-INDEX-DATA wasn't handled correctly for indexes with non-unique keys (reported by Cyrus Harmon).
-
- Sep 04, 2006
-
-
Arthur Lemmens authored
Take care of some differences between the MOP implementations of Lispworks and SBCL. Lispworks doesn call (SETF SLOT-VALUE-USING-CLASS) in SHARED-INITIALIZE, but SBCL does. Lispworks calls FINALIZE-INHERITANCE after a class is redefined and a new instance is created, but SBCL doesn't. All tests now work for Lispworks (5.0) and SBCL (0.9.16). Some work on a copying GC.
-
- Sep 03, 2006
-
-
Arthur Lemmens authored
Handle updates of in-memory persistent objects by writing a method for Lispś UPDATE-INSTANCE-FOR-REDEFINED-CLASS that marks the object as dirty and calls Rucksack's UPDATE-PERSISTENT-INSTANCE-FOR-REDEFINED-CLASS.
-
- Sep 01, 2006
-
-
Arthur Lemmens authored
Get rid of the Lispworks specific PROCESS-A-SLOT-OPTION stuff and handle the slot options in a way that's compatible with AMOP. Remove INITARGS argument for UPDATE-PERSISTENT-INSTANCE-FOR-REDEFINED-CLASS, because it turns out to be unnecessary (see details in notes.txt) Add explanation to test-index-1a.lisp about the use of (eval-when (:compile-toplevel :load-toplevel :execute) ...) Replace *RUCKSACK* by RS in the test-*.lisp files.
-
- Aug 31, 2006
-
-
Arthur Lemmens authored
the :INDEX class option in a way that's compatible with the AMOP.
-
Arthur Lemmens authored
Add list of things to do, list of things done, and some random notes.
-
Arthur Lemmens authored
Write test case for slots with redefined indexes. This also tests the default method for UPDATE-PERSISTENT-INSTANCE-FOR-REDEFINED-CLASS.
-