Skip to content
  1. Jun 20, 2011
  2. May 27, 2009
  3. Mar 31, 2008
    • Arthur Lemmens's avatar
      Version 0.1.19: · f9d53445
      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).
      f9d53445
  4. Mar 02, 2008
  5. Feb 19, 2008
  6. Feb 11, 2008
    • Arthur Lemmens's avatar
      Mention the tutorial. · f45fff62
      Arthur Lemmens authored
      f45fff62
    • Arthur Lemmens's avatar
      3a5e5e58
    • Arthur Lemmens's avatar
      Don't forget to mention Brad's tutorial. · 38d999bd
      Arthur Lemmens authored
      38d999bd
    • Arthur Lemmens's avatar
      Version 0.1.16: improved performance by decreasing persistent consing for btrees · 571926dc
      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.
      571926dc
    • Arthur Lemmens's avatar
  7. Feb 03, 2008
    • Arthur Lemmens's avatar
      Version 0.1.15. · 49311d21
      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.
      49311d21
  8. Jan 31, 2008
  9. Jan 24, 2008
  10. Jan 23, 2008
  11. Jan 22, 2008
  12. Jan 16, 2008
  13. Aug 13, 2007
  14. Aug 12, 2007
    • Arthur Lemmens's avatar
      Fix btree bug during btree-delete: if we're deleting the biggest key · 9d59c9ab
      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.
      9d59c9ab
  15. Mar 13, 2007
  16. Jan 22, 2007
  17. Jan 20, 2007
  18. Jan 16, 2007
    • Cyrus Harmon's avatar
      rucksack 0.1.4 · 1492538f
      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
      1492538f
    • Cyrus Harmon's avatar
      rucksack 0.1.3 · 1b696045
      Cyrus Harmon authored
       * use binary search instead of linear search in find-subnode and
         find-binding-in-node
      1b696045
    • Cyrus Harmon's avatar
      rucksack 0.1.2 · 78fe4c23
      Cyrus Harmon authored
       * btree-max-node-size now defaults to 32 instead of 100
      78fe4c23
    • Cyrus Harmon's avatar
      rucksack 0.1.1 · 84cbb0c3
      Cyrus Harmon authored
       * propogate unique fropm the direct slot-definition(s) to the
         effective slot definition
      84cbb0c3
  19. Nov 30, 2006
  20. Sep 04, 2006
    • Arthur Lemmens's avatar
      · b3c7be6c
      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.
      b3c7be6c
  21. Sep 03, 2006
    • Arthur Lemmens's avatar
      · 7d9253b4
      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.
      7d9253b4
  22. Sep 01, 2006
    • Arthur Lemmens's avatar
      · 49148041
      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.
      49148041
  23. Aug 31, 2006