Lines Matching refs:key

85  * tree or from any specific key.  A scan request before any scanning is
95 * key: key for positioning and return value
100 * RET_ERROR, RET_SUCCESS or RET_SPECIAL if there's no next key.
103 __bt_seq(dbp, key, data, flags)
105 DBT *key, *data;
122 * the scan to a specific key. Both __bt_seqset and __bt_seqadv pin
136 status = __bt_seqset(t, &e, key, flags);
147 __bt_ret(t, &e, key, &t->bt_rkey, data, &t->bt_rdata, 0);
151 * key/data, toss the page.
163 * Set the sequential scan to a specific key.
167 * ep: storage for returned key
168 * key: key for initial scan position
175 * RET_ERROR, RET_SUCCESS or RET_SPECIAL if there's no next key.
178 __bt_seqset(t, ep, key, flags)
181 DBT *key;
189 * Find the first, last or specific key in the tree and point the
190 * cursor at it. The cursor may not be moved until a new key has
196 * Find the first instance of the key or the smallest key
197 * which is greater than or equal to the specified key.
199 if (key->data == NULL || key->size == 0) {
203 return (__bt_first(t, key, ep, &exact));
260 * Pins the page the new key/data record is on.
263 * RET_ERROR, RET_SUCCESS or RET_SPECIAL if there's no next key.
285 * so the cursor's key was saved. Find out where that key would
286 * be in the current tree. If the returned key is an exact match,
287 * it means that a key/data pair was inserted into the tree after
288 * the delete. We could reasonably return the key, but the problem
293 * notices and doesn't do a put() of it. Since the key is an exact
302 * the same behavior as above. Second, you can return the same key
311 if ((rval = __bt_first(t, &c->key, ep, &exact)) == RET_ERROR)
330 * it. The cursor may not be moved until a new key has been found.
389 * key: the key
394 * The first entry in the tree greater than or equal to key,
395 * or RET_SPECIAL if no such key exists.
398 __bt_first(t, key, erval, exactp)
400 const DBT *key;
413 * a valid key (__bt_search may return an index just past the end of a
416 if ((ep = __bt_search(t, key, exactp)) == NULL)
462 } while (__bt_cmp(t, key, ep) == 0);
507 /* Lose any already deleted key. */
508 if (t->bt_cursor.key.data != NULL) {
509 free(t->bt_cursor.key.data);
510 t->bt_cursor.key.size = 0;
511 t->bt_cursor.key.data = NULL;
632 bt_rseq(dbp, key, data, curs, flags)
634 DBT *key, *data;
664 * the scan to a specific key. Both bt_rseqset and bt_rseqadv pin
678 status = bt_rseqset(t, &e, key, rc, flags);
687 __bt_ret(t, &e, key, &t->bt_rkey, data, &t->bt_rdata, 0);
691 * key/data, toss the page.
704 * Set the sequential scan to a specific key.
708 * ep: storage for returned key
709 * key: key for initial scan position
718 * RET_ERROR, RET_SUCCESS or RET_SPECIAL if there's no next key.
721 bt_rseqset(t, ep, key, rc, flags)
724 DBT *key;
733 * Find the first, last or specific key in the tree and point the
734 * cursor at it. The cursor may not be moved until a new key has
810 * Pins the page the new key/data record is on.
814 * RET_ERROR, RET_SUCCESS or RET_SPECIAL if there's no next key.
842 * it. The cursor may not be moved until a new key has been found.