Lines Matching defs:split

99 	 * its parent, locked.  We then split the leaf page and see if the new
104 * This process repeats until we succeed in the split, splitting the
106 * as necessary, until we split a leaf page.
113 * split. This would be an easy change for this code, but I have no
129 * thread of control has already split the page). If we are
130 * guaranteed that two items will fit on the page, the split
145 /* Once we've split the leaf page, we're done. */
155 * It's possible to fail to split repeatedly, as other
181 db_indx_t split;
192 /* Create new left and right pages for the split. */
205 if ((ret = __bam_psplit(dbc, cp, lp, rp, &split)) != 0)
231 __bam_ca_split(dbp, cp->page->pgno, lp->pgno, rp->pgno, split, 1);
262 db_indx_t split;
269 /* Create new right page for the split. */
277 /* Create new left page for the split. */
290 * aren't, so it's simpler to copy the data from the split page onto
294 * split.
296 if ((ret = __bam_psplit(dbc, cp, lp, rp, &split)) != 0)
300 * Fix up the previous pointer of any leaf page following the split
307 * is waiting on a lock for the page we just split. It will deadlock
308 * here. If this is a problem, we can fail in the split; it's not a
309 * problem as the split will succeed after the cursor passes through
357 __bam_ca_split(dbp, cp->page->pgno, cp->page->pgno, rp->pgno, split, 0);
397 * Fix up the btree root page after it has been split.
414 * We copy the key we split on (but not the key's data, in the case of
522 * Fix up the recno root page after it has been split.
561 * Insert a new key into a parent page, completing the split.
585 /* If handling record numbers, count records split to the right page. */
591 * completes the split. The parent points to a PAGE and a page index
592 * offset, where the new key goes ONE AFTER the index, because we split
599 * in the case of a key being placed at index 0 causing the split, the
787 * a big deal, we'll just do the split the right way next time.
801 * Split the data to the left and right pages. Try not to split on
803 * searches.) Refuse to split in the middle of a set of duplicates.
805 * First, find the optimum place to split.
807 * It's possible to try and split past the last record on the page if
812 * Note, we try and split half the data present on the page. This is
813 * because another process may have already split the page and left
814 * it half empty. We don't try and skip the split -- we don't know
817 * if we need to split or not. Besides, if two threads are inserting
858 * Splitp is either at or just past the optimum split point. If
889 * We can't split in the middle a set of duplicates. We know that
913 /* We're going to split at splitp. */