[elephant-devel] Small bug in PM-INDEXED-BTREE

Leslie P. Polzer leslie.polzer at gmx.net
Mon May 5 12:07:25 UTC 2008


Now don't ask me how a NIL value gets mapped to an OID key in the
class index. It happened, and I wasn't able to remove those things
because of a bug in PM-INDEXED-BTREE. Diff:

--- old-elephant/src/db-postmodern/pm-indexed-btree.lisp        2008-05-05
14:04:49.930108544 +0200
+++ new-elephant/src/db-postmodern/pm-indexed-btree.lisp        2008-05-05
14:04:49.930108544 +0200
@@ -74,8 +74,8 @@
 (defmethod remove-kv (key (bt pm-indexed-btree))
   "Remove a key / value pair, and update secondary indices."
   (with-trans-and-vars (bt)
-    (let ((value (get-value key bt)))
-      (when value
+    (multiple-value-bind (value found) (get-value key bt)
+      (when found
         (let ((indices (indices bt)))
           (loop for index being the hash-value of indices do
                 (multiple-value-bind (index? secondary-key)

Sorry it's not a Darcs patch. I find those patches pretty annoying
to work with...

  Leslie




More information about the elephant-devel mailing list