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
[email protected]
http://common-lisp.net/mailman/listinfo/elephant-devel