[rucksack-devel] unique slot
Takehiko Abe
keke at gol.com
Wed Mar 14 09:33:20 UTC 2007
I think it would be nice if rucksack signals error when I give
a duplicated key to a unique slot.
But then I noticed the following comment in do.txt:
- Check that btrees actually signal an error for duplicate keys.
Handle those errors correctly for slot indexes.
Why does rucksack need to handle the errors?
Thanks,
T.
Index: rucksack.lisp
===================================================================
RCS file: /project/rucksack/cvsroot/rucksack/rucksack.lisp,v
retrieving revision 1.20
diff -u -r1.20 rucksack.lisp
--- rucksack.lisp 13 Mar 2007 13:13:00 -0000 1.20
+++ rucksack.lisp 14 Mar 2007 09:23:15 -0000
@@ -876,7 +886,9 @@
(when old-boundp
(index-delete index old-value id :if-does-not-exist :ignore))
(when new-boundp
- (index-insert index new-value id))))))
+ (index-insert index new-value id
+ :if-exists
+ (and (slot-unique slot) :error)))))))
(defmethod rucksack-slot-index ((rucksack standard-rucksack) class slot
More information about the rucksack-devel
mailing list