[rucksack-devel] Re: Error when deleting indexed objects

Arthur Lemmens alemmens at xs4all.nl
Tue Jan 22 16:09:33 UTC 2008


Brad Beveridge wrote:

> I've made some progress.  The problem is due to KEY-POSITION using
> P-EQL when trying to find the position of a key in the index.  It
> really should be more like
> (defun key-position (btree key node)
>   (p-position key (btree-node-index node)
>               :key #'binding-key
> 	        :test (btree-key= btree)
>               :end (btree-node-index-count node)))

Erm, yes.  This particular problem was already fixed by Leonid
Novikov's patch that I committed to CVS last week.

> However, that doesn't work either because the largest key in the index
> will have a key of KEY-IRRELEVENT - clearly a special case.

Right.  This is a new problem that I hadn't seen before.

> Am I making sense here?  I guess the correct place to handle the
> special case is in BTREE-KEY=

I'm not totally sure that this is the best approach, but I can't
think of anything better right now and it does seem to fix the
problem.  So I followed your suggestion.

Thanks,

Arthur




More information about the rucksack-devel mailing list