[elephant-devel] traversing btree using multiple indices

Sean Ross rosssd at gmail.com
Fri Apr 4 08:15:47 UTC 2008


On 4/3/08, Ian Eslick <eslick at media.mit.edu> wrote:
> Do you just want the simple union, an ordered union by some criteria or do
> you mean intersection?   Perhaps an example would help us help you!

ack, intersection, not union, that'll teach me to post and run.

as an example given the following class and index definitions

(defclass test-event ()
  ((date :accessor date-of :initform (now))
   (name :accessor name-of :initform nil))
  (:metaclass persistent-metaclass))

(defun create-date-indexer (a b c)   (values t (date-of c)))
(defun create-name-indexer (a b c)   (values t (name-of c)))

(add-index btree
           :index-name 'date-index
           :key-form 'create-date-indexer
           :populate t)

(add-index btree
           :index-name 'name-index
           :key-form 'create-name-indexer
           :populate t)

what is the best way to map across all added events between a
particular date range with the name 'Sean'?

Alex's pointer to the cursor api's (and in particular the index cursor
API) seems to be what i am looking for but I cannot quite get it to
work.

sean.



More information about the elephant-devel mailing list