Node: Cursors, Next: , Previous: Collections, Up: Reference



Cursors

elephant:cursor Class
Class precedence list: cursor, standard-object, t

A cursor for traversing (primary) BTrees.

elephant:secondary-cursor Class
Class precedence list: secondary-cursor, cursor, standard-object, t

Cursor for traversing secondary indices.

elephant:make-cursor bt Generic Function
Construct a cursor for traversing BTrees.

elephant:make-cursor (bt btree-index) Method
Make a secondary-cursor from a secondary index.

elephant:make-cursor (bt btree) Method
Make a cursor from a btree.

elephant:cursor-close cursor Generic Function
Close the cursor. Make sure to close cursors before the enclosing transaction is closed!

elephant:map-btree fn bt Function
Like maphash.

elephant:with-btree-cursor var &body body Macro
Macro which opens a named cursor on a BTree (primary or not), evaluates the forms, then closes the cursor.

elephant:cursor-current cursor Generic Function
Get the key / value at the cursor position. Returns has-pair key value, where has-pair is a boolean indicating there was a pair.

elephant:cursor-delete cursor Generic Function
Delete by cursor. The cursor is at an invalid position after a successful delete.

elephant:cursor-delete (cursor secondary-cursor) Method
Delete by cursor: deletes all secondary indices.

elephant:cursor-duplicate cursor Generic Function
Duplicate a cursor.

elephant:cursor-first cursor Generic Function
Move the cursor to the beginning of the BTree, returning has-pair key value.

elephant:cursor-get-both-range cursor key value Generic Function
Moves the cursor to the first key / value pair with key equal to the key argument and value greater or equal to the value argument. Not really useful for us since primaries don't have duplicates. Returns has-pair key value.

elephant:cursor-get-both-range (cursor secondary-cursor) key value Method
cursor-get-both-range not implemented for secondary indices. Use cursor-pget-both-range.

elephant:cursor-get-both cursor key value Generic Function
Moves the cursor to a particular key / value pair, returning has-pair key value.

elephant:cursor-get-both (cursor secondary-cursor) key value Method
cursor-get-both not implemented for secondary indices. Use cursor-pget-both.

elephant:cursor-last cursor Generic Function
Move the cursor to the end of the BTree, returning has-pair key value.

elephant:cursor-next-dup cursor Generic Function
Move to the next duplicate element (with the same key.) Returns has-pair key value.

elephant:cursor-next-nodup cursor Generic Function
Move to the next non-duplicate element (with different key.) Returns has-pair key value.

elephant:cursor-next cursor Generic Function
Advance the cursor, returning has-pair key value.

elephant:cursor-pcurrent cursor Generic Function
Returns has-tuple / secondary key / value / primary key at the current position.

elephant:cursor-pfirst cursor Generic Function
Moves the key to the beginning of the secondary index. Returns has-tuple / secondary key / value / primary key.

elephant:cursor-pget-both-range cursor key pkey Generic Function
Moves the cursor to a the first secondary key / primary key pair, with secondary key equal to the key argument, and primary key greater or equal to the pkey argument. Returns has-tuple / secondary key / value / primary key.

elephant:cursor-pget-both cursor key pkey Generic Function
Moves the cursor to a particular secondary key / primary key pair. Returns has-tuple / secondary key / value / primary key.

elephant:cursor-plast cursor Generic Function
Moves the key to the end of the secondary index. Returns has-tuple / secondary key / value / primary key.

elephant:cursor-pnext-dup cursor Generic Function
Move to the next duplicate element (with the same key.) Returns has-tuple / secondary key / value / primary key.

elephant:cursor-pnext-nodup cursor Generic Function
Move to the next non-duplicate element (with different key.) Returns has-tuple / secondary key / value / primary key.

elephant:cursor-pnext cursor Generic Function
Advances the cursor. Returns has-tuple / secondary key / value / primary key.

elephant:cursor-pprev-nodup cursor Generic Function
Move to the previous non-duplicate element (with different key.) Returns has-tuple / secondary key / value / primary key.

elephant:cursor-pprev cursor Generic Function
Moves the cursor back. Returns has-tuple / secondary key / value / primary key.

elephant:cursor-prev-nodup cursor Generic Function
Move to the previous non-duplicate element (with different key.) Returns has-pair key value.

elephant:cursor-prev cursor Generic Function
Move the cursor back, returning has-pair key value.

elephant:cursor-pset-range cursor key Generic Function
Move the cursor to the first key-value pair with key greater or equal to the key argument, according to the lisp sorter. Returns has-pair secondary key value primary key.

elephant:cursor-pset cursor key Generic Function
Moves the cursor to a particular key. Returns has-tuple / secondary key / value / primary key.

elephant:cursor-put cursor value &rest rest Generic Function
Put by cursor. Currently doesn't properly move the cursor.

elephant:cursor-put (cursor secondary-cursor) value &rest rest Method
Puts are forbidden on secondary indices. Try adding to the primary.

elephant:cursor-put (cursor cursor) value &key (key nil Method
key-specified-p) Put by cursor. Not particularly useful since primaries don't support duplicates. Currently doesn't properly move the cursor.

elephant:cursor-set-range cursor key Generic Function
Move the cursor to the first key-value pair with key greater or equal to the key argument, according to the lisp sorter. Returns has-pair key value.

elephant:cursor-set cursor key Generic Function
Move the cursor to a particular key, returning has-pair key value.