I found the bug, it's an optimization left in the BDB cursor code that would work with exact key matches but fails on non-exact matches due to the way I implemented map-index.

Here's the patch to src/db-bdb/bdb-collections.lisp

593c593,596
<             (values t key (deserialize val sc)
---
>             (values t
>                     (progn (buffer-read-oid k)
>                            (deserialize k sc))
>                     (deserialize val sc)

I'll promote it to the 0.9p1 tree (CVS HEAD) after I investigate other functions for these screw cases and add some test cases as well.

Ian



On Sep 4, 2007, at 5:34 PM, Chris Laux wrote:

(defclass test-class ()
   ((test :initarg :test :accessor test :index t))
   (:metaclass persistent-metaclass))

_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Reply via email to