Next: Cursors, Previous: Persistent Slot Indexing, Up: Reference
Class precedence list:
persistent-collection, persistent, standard-object, tAbstract superclass of all collection types.
Class precedence list:
btree, persistent-collection, persistent, standard-object, tA hash-table like interface to a BTree, which stores things in a semi-ordered fashion.
Class precedence list:
indexed-btree, btree, persistent-collection, persistent, standard-object, tA BTree which supports secondary indices.
Class precedence list:
btree-index, persistent-object, btree, persistent-collection, persistent, standard-object, tSecondary index to an indexed-btree.
Puts are not allowed on secondary indices. Try adding to the primary.
Remove a key / value from the
primaryby a secondary lookup, updatingallother secondary indices.
Add a secondary index. The indices are stored in an eq hash-table, so the index-name should be a symbol. key-form should be a symbol naming a function, or a list which defines a lambda
--actual functions aren't supported. The function should take 3 arguments: the secondarydb, primary key and value, and return two values: a boolean indicating whether to index this key / value, and the secondary key if so. If populate = t it will fill in secondary keys for existing primary entries (may be expensive!)