• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/timemachine/db-4.7.25.NC/btree/

Lines Matching defs:split

85 	 * its parent, locked.  We then split the leaf page and see if the new
90 * This process repeats until we succeed in the split, splitting the
92 * as necessary, until we split a leaf page.
99 * split. This would be an easy change for this code, but I have no
118 * thread of control has already split the page). If we are
119 * guaranteed that two items will fit on the page, the split
134 /* Once we've split the leaf page, we're done. */
144 * It's possible to fail to split repeatedly, as other
176 db_indx_t split;
196 /* Create new left and right pages for the split. */
208 if ((ret = __bam_psplit(dbc, cp, lp, rp, &split)) != 0)
232 __bam_broot(dbc, cp->page, split, lp, rp))) != 0)
236 ret = __bam_ca_split(dbc, cp->page->pgno, lp->pgno, rp->pgno, split, 1);
271 db_indx_t split;
283 * Create new left page for the split, and fill in everything
286 * Create a new right page for the split, and fill in everything
290 * a new page from the underlying buffer pool until we know the split
295 * leaf page which ran out of space and started this split (e.g., we
297 * from it with the DB_RMW flag set), failing in a split with both a
319 * aren't, so it's simpler to copy the data from the split page onto
323 * split.
325 if ((ret = __bam_psplit(dbc, cp, lp, rp, &split)) != 0)
331 * page can't hold the new keys, and has to be split in turn, in which
334 if ((ret = __bam_pinsert(dbc, pp, split, lp, rp, BPI_SPACEONLY)) != 0)
338 * Fix up the previous pointer of any leaf page following the split
358 * We've got everything locked down we need, and we know the split
370 * page after the split is done but before the transaction is committed
391 (ret = __bam_pinsert(dbc, pp, split, lp, rp, 0)) != 0)
449 PGNO(cp->page), PGNO(cp->page), PGNO(rp), split, 0)) != 0)
513 * Fix up the btree root page after it has been split.
516 __bam_broot(dbc, rootp, split, lp, rp)
518 u_int32_t split;
539 child_bi = GET_BINTERNAL(dbp, rootp, split);
573 child_bk = GET_BKEYDATA(dbp, rootp, split);
619 * We copy the key we split on (but not the key's data, in the case of
653 * Fix up the recno root page after it has been split.
692 * Insert a new key into a parent page, completing the split.
698 __bam_pinsert(dbc, parent, split, lchild, rchild, flags)
701 u_int32_t split;
727 /* If handling record numbers, count records split to the right page. */
733 * completes the split. The parent points to a PAGE and a page index
734 * offset, where the new key goes ONE AFTER the index, because we split
741 * in the case of a key being placed at index 0 causing the split, the
760 child_bi = GET_BINTERNAL(dbp, child->page, split);
806 child_bk = GET_BKEYDATA(dbp, child->page, split);
1009 * wrong, we'll do the split the right way next time.
1020 * Split the data to the left and right pages. Try not to split on
1022 * searches.) Refuse to split in the middle of a set of duplicates.
1024 * First, find the optimum place to split.
1026 * It's possible to try and split past the last record on the page if
1031 * Note, we try and split half the data present on the page. This is
1032 * because another process may have already split the page and left
1033 * it half empty. We don't try and skip the split -- we don't know
1036 * if we need to split or not. Besides, if two threads are inserting
1080 * Splitp is either at or just past the optimum split point. If the
1124 * We can't split in the middle a set of duplicates. We know that
1147 /* We're going to split at splitp. */