Use map-inverse-index :oid t to get the list of oids matching parameter A Use map-inverse-index :oid t to get the list of oids matching parameter B Take the intersection of the OIDs Recreate your objects.
And in fact this is exactly what the query system does and should just to the right thing for you already (though with some extra temporary memory overhead at the moment). I'm blanking on the syntax, but it looks something like this: (select ((a object)) (eq (slot1 a) 'foo) (eq (slot2 a) 'bar)) Ian On Jan 28, 2009, at 3:33 PM, Yarek Kowalik wrote: > Given the OID, Is there a way to obtain an object slot value without > recreating the object? I want to reacreate the object only when a > specific value is present. > > I am aware that I could use map-inverse-index to search for value, > but it does not do exacty what I want: I want to get all the > objects with slot 'a matching "value-a", but filtered on another > slot, say slot 'b, with matching "value-b". > > Yarek > _______________________________________________ > elephant-devel site list > elephant-devel@common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel _______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel