[elephant-devel] unstable postmodern troubled..

Ian Eslick eslick at media.mit.edu
Mon Jun 2 01:51:18 UTC 2008


Actually btree-index also needs to be persistent-metaclass because of  
its use of slot values.  However, dup-btree does not if that makes  
your life easier.  I pushed a patch to remove that from bdb- 
collections.  All tests pass under SBCL / Linux / BDB (my new primary  
dev platform).

Ian

On Jun 1, 2008, at 9:28 PM, Ian Eslick wrote:

> Sounds like there is an issue with schema coherence (the class  
> object cache out of sync with the db in some way?  I had some of  
> these tuning the BDB implementation).  I'd be happy to look at the  
> patches.
>
> I think the semantics of cursor-delete are the current 'element'.   
> If I can do cursor-next to get to the next element of a duplicate  
> set, I wouldn't expect it to have been deleted when I deleted the  
> last one - so just the specific key-value pair that would be  
> returned by cursor-current.
>
> The indexed-btree is the only class that requires it due to the  
> indices slot.  It would take quite a bit of work to handle all the  
> issues that persistent-metaclass takes care of.  However, the btree,  
> dup-btree, and btree-index don't need it.  I'll pull it out of the  
> BDB implementation and test it.
>
> Ian
>
> On Jun 1, 2008, at 3:48 PM, Alex Mizrahi wrote:
>
>> i can't say i'm completely stuck with it,
>> but i'm getting pretty weird errors -- it's
>> different if i run it first time or second time
>> (on second time there are more errors), and, if i run
>> whole test suite i get:
>>
>> SIMPLE-SLOT-ASSOC-SETUP []:
>>     Unexpected Error: #<SIMPLE-ERROR {C350169}>
>> There is no applicable method for the generic function
>> #<STANDARD-GENERIC-FUNCTION ELEPHANT::SCHEMA-ID (1)>
>> when called with arguments
>> (NIL)...
>>
>> but when i run test individually, it works:
>>
>> ELE-TESTS> (do-test-spec 'SIMPLE-SLOT-ASSOC-SETUP)
>> .
>> Did 1 check.
>>   Pass: 1 (100%)
>>   Skip: 0 ( 0%)
>>   Fail: 0 ( 0%)
>>
>> NIL
>>
>> so i thought maybe i'll post half-backed patches and someone
>> could help debugging it -- with such weird bugs more eyeballs
>> is always better.
>>
>> also, few questions to Ian:
>>
>> * cursor-delete on dup-btree -- should it delete only current
>> pair or all pairs on some key?
>> * why dup-btree has persistent-metaclass? (and so do some other btree
>> flavours)
>>  if it don't use persistent-metaclass, drop-pobject fails for
>> dup-btree, but other than that i can't see any reasons..
>> why should dup-btree be different from normal btree?
>> this might introduce some bloat, so if drop-pobject is the only
>> reason, it might be easier to just add method specialization
>>
>>
>>
>> _______________________________________________
>> elephant-devel site list
>> elephant-devel at common-lisp.net
>> http://common-lisp.net/mailman/listinfo/elephant-devel
>
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel




More information about the elephant-devel mailing list