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 _______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel