Home | History | Annotate | Download | only in btree

Lines Matching refs:PAGE

54 static int __bt_curdel(BTREE *, const DBT *, PAGE *, u_int);
55 static int __bt_pdelete(BTREE *, PAGE *);
56 static int __bt_stkacq(BTREE *, PAGE **, CURSOR *);
69 PAGE *h;
74 /* Toss any page pinned across calls. */
103 * If the page is about to be emptied, we'll need to
137 * hp: pointer to current, pinned PAGE pointer
144 __bt_stkacq(BTREE *t, PAGE **hp, CURSOR *c)
149 PAGE *h;
157 * currently locked page so we don't hit an already-locked page.
163 h = e->page;
170 * Move right, looking for the page. At each move we have to move
171 * up the stack until we don't have to move to the next page. If
182 /* Get the parent page. */
202 /* Lose the currently pinned page. */
222 h = e->page;
225 * Move left, looking for the page. At each move we have to move
227 * next page. If we have to change pages at an internal level, we
237 /* Get the parent page. */
256 /* Lose the currently pinned page. */
291 PAGE *h;
296 /* Find any matching record; __bt_search pins the page. */
300 mpool_put(t->bt_mp, e->page, 0);
306 * there are duplicates and we reach either side of the page, do
310 h = e->page;
327 /* Check for right-hand edge of the page. */
331 /* Delete from the key to the beginning of the page. */
343 /* Check for an empty page. */
350 /* Put the page. */
360 * Delete a single page from the tree.
364 * h: leaf page
370 * mpool_put's the page
373 __bt_pdelete(BTREE *t, PAGE *h)
376 PAGE *pg;
383 * Walk the parent page stack -- a LIFO stack of the pages that were
384 * traversed when we searched for the page where the delete occurred.
385 * Each stack entry is a page number and a page index offset. The
386 * offset is for the page traversed on the search. We've just deleted
387 * a page, so we have to delete the key from the parent page.
389 * If the delete from the parent page makes it empty, this process may
390 * continue all the way up the tree. We stop if we reach the root page
392 * delete does not empty the page.
395 /* Get the parent page. */
411 * root page. If it's the rootpage, turn it back into an empty
412 * leaf page.
425 /* Pack remaining key items at the end of the page. */
446 /* Free the leaf page, as long as it wasn't the root. */
456 * Delete a single record from a leaf page.
461 * h: page
462 * idx: index on page to delete
468 __bt_dleaf(BTREE *t, const DBT *key, PAGE *h, u_int idx)
491 /* Pack the remaining key/data items at the end of the page. */
506 /* If the cursor is on this page, adjust it as necessary. */
522 * h: page
523 * idx: index on page to delete
529 __bt_curdel(BTREE *t, const DBT *key, PAGE *h, u_int idx)
533 PAGE *pg;
551 e.page = h;
559 /* Check previous key, if not at the beginning of the page. */
561 e.page = h;
568 /* Check next key, if not at the end of the page. */
570 e.page = h;
577 /* Check previous key if at the beginning of the page. */
581 e.page = pg;
589 /* Check next key if at the end of the page. */
593 e.page = pg;
598 dup2: c->pg.pgno = e.page->pgno;
605 e.page = h;
617 * Link around a deleted page.
621 * h: page to be deleted
624 __bt_relink(BTREE *t, PAGE *h)
626 PAGE *pg;