Lines Matching refs:mc_top

1201 	unsigned short	mc_top;		/**< index of top page, normally mc_snum-1 */  member
1674 for (i=0; i<mc->mc_top; i++) { in mdb_cursor_chk()
1683 node = NODEPTR(mc->mc_pg[mc->mc_top], mc->mc_ki[mc->mc_top]); in mdb_cursor_chk()
1728 mp = mc.mc_pg[mc.mc_top]; in mdb_audit()
2257 np = m2.mc_pg[m2.mc_top]; in mdb_page_alloc()
2258 leaf = NODEPTR(np, m2.mc_ki[m2.mc_top]); in mdb_page_alloc()
2417 MDB_page *mp = mc->mc_pg[mc->mc_top], *np; in mdb_page_touch()
2441 if (mc->mc_top) { in mdb_page_touch()
2442 MDB_page *parent = mc->mc_pg[mc->mc_top-1]; in mdb_page_touch()
2443 MDB_node *node = NODEPTR(parent, mc->mc_ki[mc->mc_top-1]); in mdb_page_touch()
2484 mc->mc_pg[mc->mc_top] = np; in mdb_page_touch()
2490 if (m3->mc_pg[mc->mc_top] == mp) in mdb_page_touch()
2491 m3->mc_pg[mc->mc_top] = np; in mdb_page_touch()
2497 if (m2->mc_pg[mc->mc_top] == mp) { in mdb_page_touch()
2498 m2->mc_pg[mc->mc_top] = np; in mdb_page_touch()
2500 XCURSOR_REFRESH(m2, mc->mc_top, np); in mdb_page_touch()
5297 MDB_page *mp = mc->mc_pg[mc->mc_top]; in mdb_node_search()
5373 mc->mc_ki[mc->mc_top] = i; in mdb_node_search()
5389 if (m2->mc_pg[m2->mc_top] == mc->mc_pg[mc->mc_top]) {
5402 mc->mc_pg[mc->mc_top]->mp_pgno, DDBI(mc), (void *) mc)); in mdb_cursor_pop()
5406 mc->mc_top--; in mdb_cursor_pop()
5427 mc->mc_top = mc->mc_snum++; in mdb_cursor_push()
5428 mc->mc_pg[mc->mc_top] = mp; in mdb_cursor_push()
5429 mc->mc_ki[mc->mc_top] = 0; in mdb_cursor_push()
5502 MDB_page *mp = mc->mc_pg[mc->mc_top]; in mdb_page_search_root()
5524 if (mc->mc_ki[mc->mc_top] == i) { in mdb_page_search_root()
5525 mc->mc_top = mc->mc_snum++; in mdb_page_search_root()
5526 mp = mc->mc_pg[mc->mc_top]; in mdb_page_search_root()
5537 i = mc->mc_ki[mc->mc_top]; in mdb_page_search_root()
5552 mc->mc_ki[mc->mc_top] = i; in mdb_page_search_root()
5560 mp = mc->mc_pg[mc->mc_top]; in mdb_page_search_root()
5588 MDB_page *mp = mc->mc_pg[mc->mc_top]; in mdb_page_search_lowest()
5595 mc->mc_ki[mc->mc_top] = 0; in mdb_page_search_lowest()
5672 mc->mc_top = 0; in mdb_page_search()
5838 mc->mc_pg[mc->mc_top]->mp_pgno, mc->mc_ki[mc->mc_top])); in mdb_cursor_sibling()
5840 if (move_right ? (mc->mc_ki[mc->mc_top] + 1u >= NUMKEYS(mc->mc_pg[mc->mc_top])) in mdb_cursor_sibling()
5841 : (mc->mc_ki[mc->mc_top] == 0)) { in mdb_cursor_sibling()
5846 mc->mc_top++; in mdb_cursor_sibling()
5852 mc->mc_ki[mc->mc_top]++; in mdb_cursor_sibling()
5854 mc->mc_ki[mc->mc_top]--; in mdb_cursor_sibling()
5856 move_right ? "right" : "left", mc->mc_ki[mc->mc_top])); in mdb_cursor_sibling()
5858 mdb_cassert(mc, IS_BRANCH(mc->mc_pg[mc->mc_top])); in mdb_cursor_sibling()
5860 indx = NODEPTR(mc->mc_pg[mc->mc_top], mc->mc_ki[mc->mc_top]); in mdb_cursor_sibling()
5869 mc->mc_ki[mc->mc_top] = NUMKEYS(mp)-1; in mdb_cursor_sibling()
5888 mp = mc->mc_pg[mc->mc_top]; in mdb_cursor_next()
5891 if (mc->mc_ki[mc->mc_top] >= NUMKEYS(mp)-1) in mdb_cursor_next()
5897 leaf = NODEPTR(mp, mc->mc_ki[mc->mc_top]); in mdb_cursor_next()
5921 if (mc->mc_ki[mc->mc_top] + 1u >= NUMKEYS(mp)) { in mdb_cursor_next()
5927 mp = mc->mc_pg[mc->mc_top]; in mdb_cursor_next()
5928 DPRINTF(("next page is %"Z"u, key index %u", mp->mp_pgno, mc->mc_ki[mc->mc_top])); in mdb_cursor_next()
5930 mc->mc_ki[mc->mc_top]++; in mdb_cursor_next()
5934 mdb_dbg_pgno(mp), NUMKEYS(mp), mc->mc_ki[mc->mc_top])); in mdb_cursor_next()
5938 key->mv_data = LEAF2KEY(mp, mc->mc_ki[mc->mc_top], key->mv_size); in mdb_cursor_next()
5943 leaf = NODEPTR(mp, mc->mc_ki[mc->mc_top]); in mdb_cursor_next()
5971 mc->mc_ki[mc->mc_top]++; in mdb_cursor_prev()
5974 mp = mc->mc_pg[mc->mc_top]; in mdb_cursor_prev()
5977 mc->mc_ki[mc->mc_top] < NUMKEYS(mp)) { in mdb_cursor_prev()
5978 leaf = NODEPTR(mp, mc->mc_ki[mc->mc_top]); in mdb_cursor_prev()
6002 if (mc->mc_ki[mc->mc_top] == 0) { in mdb_cursor_prev()
6007 mp = mc->mc_pg[mc->mc_top]; in mdb_cursor_prev()
6008 mc->mc_ki[mc->mc_top] = NUMKEYS(mp) - 1; in mdb_cursor_prev()
6009 DPRINTF(("prev page is %"Z"u, key index %u", mp->mp_pgno, mc->mc_ki[mc->mc_top])); in mdb_cursor_prev()
6011 mc->mc_ki[mc->mc_top]--; in mdb_cursor_prev()
6014 mdb_dbg_pgno(mp), NUMKEYS(mp), mc->mc_ki[mc->mc_top])); in mdb_cursor_prev()
6021 key->mv_data = LEAF2KEY(mp, mc->mc_ki[mc->mc_top], key->mv_size); in mdb_cursor_prev()
6025 leaf = NODEPTR(mp, mc->mc_ki[mc->mc_top]); in mdb_cursor_prev()
6061 mp = mc->mc_pg[mc->mc_top]; in mdb_cursor_set()
6063 mc->mc_ki[mc->mc_top] = 0; in mdb_cursor_set()
6078 mc->mc_ki[mc->mc_top] = 0; in mdb_cursor_set()
6097 mc->mc_ki[mc->mc_top] = nkeys-1; in mdb_cursor_set()
6103 if (mc->mc_ki[mc->mc_top] < NUMKEYS(mp)) { in mdb_cursor_set()
6107 mc->mc_ki[mc->mc_top], nodekey.mv_size); in mdb_cursor_set()
6109 leaf = NODEPTR(mp, mc->mc_ki[mc->mc_top]); in mdb_cursor_set()
6128 for (i=0; i<mc->mc_top; i++) in mdb_cursor_set()
6132 if (i == mc->mc_top) { in mdb_cursor_set()
6134 mc->mc_ki[mc->mc_top] = nkeys; in mdb_cursor_set()
6138 if (!mc->mc_top) { in mdb_cursor_set()
6140 mc->mc_ki[mc->mc_top] = 0; in mdb_cursor_set()
6155 mp = mc->mc_pg[mc->mc_top]; in mdb_cursor_set()
6171 mp = mc->mc_pg[mc->mc_top]; in mdb_cursor_set()
6183 key->mv_data = LEAF2KEY(mp, mc->mc_ki[mc->mc_top], key->mv_size); in mdb_cursor_set()
6249 if (!(mc->mc_flags & C_INITIALIZED) || mc->mc_top) { in mdb_cursor_first()
6254 mdb_cassert(mc, IS_LEAF(mc->mc_pg[mc->mc_top])); in mdb_cursor_first()
6256 leaf = NODEPTR(mc->mc_pg[mc->mc_top], 0); in mdb_cursor_first()
6260 mc->mc_ki[mc->mc_top] = 0; in mdb_cursor_first()
6262 if (IS_LEAF2(mc->mc_pg[mc->mc_top])) { in mdb_cursor_first()
6265 key->mv_data = LEAF2KEY(mc->mc_pg[mc->mc_top], 0, key->mv_size); in mdb_cursor_first()
6294 if (!(mc->mc_flags & C_INITIALIZED) || mc->mc_top) { in mdb_cursor_last()
6299 mdb_cassert(mc, IS_LEAF(mc->mc_pg[mc->mc_top])); in mdb_cursor_last()
6301 mc->mc_ki[mc->mc_top] = NUMKEYS(mc->mc_pg[mc->mc_top]) - 1; in mdb_cursor_last()
6303 leaf = NODEPTR(mc->mc_pg[mc->mc_top], mc->mc_ki[mc->mc_top]); in mdb_cursor_last()
6305 if (IS_LEAF2(mc->mc_pg[mc->mc_top])) { in mdb_cursor_last()
6308 key->mv_data = LEAF2KEY(mc->mc_pg[mc->mc_top], mc->mc_ki[mc->mc_top], key->mv_size); in mdb_cursor_last()
6346 MDB_page *mp = mc->mc_pg[mc->mc_top]; in mdb_cursor_get()
6348 if (!nkeys || mc->mc_ki[mc->mc_top] >= nkeys) { in mdb_cursor_get()
6349 mc->mc_ki[mc->mc_top] = nkeys; in mdb_cursor_get()
6356 key->mv_data = LEAF2KEY(mp, mc->mc_ki[mc->mc_top], key->mv_size); in mdb_cursor_get()
6358 MDB_node *leaf = NODEPTR(mp, mc->mc_ki[mc->mc_top]); in mdb_cursor_get()
6420 data->mv_size = NUMKEYS(mx->mc_pg[mx->mc_top]) * in mdb_cursor_get()
6422 data->mv_data = METADATA(mx->mc_pg[mx->mc_top]); in mdb_cursor_get()
6423 mx->mc_ki[mx->mc_top] = NUMKEYS(mx->mc_pg[mx->mc_top])-1; in mdb_cursor_get()
6477 if (mc->mc_ki[mc->mc_top] >= NUMKEYS(mc->mc_pg[mc->mc_top])) { in mdb_cursor_get()
6478 mc->mc_ki[mc->mc_top] = NUMKEYS(mc->mc_pg[mc->mc_top]); in mdb_cursor_get()
6483 MDB_node *leaf = NODEPTR(mc->mc_pg[mc->mc_top], mc->mc_ki[mc->mc_top]); in mdb_cursor_get()
6535 mc->mc_top = 0; in mdb_cursor_touch()
6539 } while (!rc && ++(mc->mc_top) < mc->mc_snum); in mdb_cursor_touch()
6540 mc->mc_top = mc->mc_snum-1; in mdb_cursor_touch()
6609 mc->mc_top = 0; in mdb_cursor_put()
6622 mc->mc_ki[mc->mc_top]++; in mdb_cursor_put()
6680 DPRINTF(("inserting key at index %i", mc->mc_ki[mc->mc_top])); in mdb_cursor_put()
6696 if (IS_LEAF2(mc->mc_pg[mc->mc_top])) { in mdb_cursor_put()
6701 ptr = LEAF2KEY(mc->mc_pg[mc->mc_top], mc->mc_ki[mc->mc_top], ksize); in mdb_cursor_put()
6707 if (mc->mc_top && !mc->mc_ki[mc->mc_top]) { in mdb_cursor_put()
6709 mc->mc_top--; in mdb_cursor_put()
6711 while (mc->mc_top && !mc->mc_ki[mc->mc_top]) { in mdb_cursor_put()
6712 mc->mc_top--; in mdb_cursor_put()
6715 if (mc->mc_ki[mc->mc_top]) in mdb_cursor_put()
6719 mc->mc_top += dtop; in mdb_cursor_put()
6727 leaf = NODEPTR(mc->mc_pg[mc->mc_top], mc->mc_ki[mc->mc_top]); in mdb_cursor_put()
6740 mp->mp_pgno = mc->mc_pg[mc->mc_top]->mp_pgno; in mdb_cursor_put()
6953 nsize = IS_LEAF2(mc->mc_pg[mc->mc_top]) ? key->mv_size : mdb_leaf_size(env, key, rdata); in mdb_cursor_put()
6954 if (SIZELEFT(mc->mc_pg[mc->mc_top]) < nsize) { in mdb_cursor_put()
6962 rc = mdb_node_add(mc, mc->mc_ki[mc->mc_top], key, rdata, 0, nflags); in mdb_cursor_put()
6967 unsigned i = mc->mc_top; in mdb_cursor_put()
6996 leaf = NODEPTR(mc->mc_pg[mc->mc_top], mc->mc_ki[mc->mc_top]); in mdb_cursor_put()
7019 unsigned i = mc->mc_top; in mdb_cursor_put()
7090 if (mc->mc_ki[mc->mc_top] >= NUMKEYS(mc->mc_pg[mc->mc_top])) in mdb_cursor_del()
7100 mp = mc->mc_pg[mc->mc_top]; in mdb_cursor_del()
7105 leaf = NODEPTR(mp, mc->mc_ki[mc->mc_top]); in mdb_cursor_del()
7128 mdb_node_shrink(mp, mc->mc_ki[mc->mc_top]); in mdb_cursor_del()
7129 leaf = NODEPTR(mp, mc->mc_ki[mc->mc_top]); in mdb_cursor_del()
7135 if (m2->mc_pg[mc->mc_top] == mp) { in mdb_cursor_del()
7136 XCURSOR_REFRESH(m2, mc->mc_top, mp); in mdb_cursor_del()
7291 MDB_page *mp = mc->mc_pg[mc->mc_top]; in mdb_node_add()
7412 MDB_page *mp = mc->mc_pg[mc->mc_top]; in mdb_node_del()
7413 indx_t indx = mc->mc_ki[mc->mc_top]; in mdb_node_del()
7527 mx->mx_cursor.mc_top = 0; in mdb_xcursor_init0()
7551 mx->mx_cursor.mc_top = 0; in mdb_xcursor_init1()
7564 mx->mx_cursor.mc_top = 0; in mdb_xcursor_init1()
7600 mx->mx_cursor.mc_top = 0; in mdb_xcursor_init2()
7628 mc->mc_top = 0; in mdb_cursor_init()
7716 if (mc->mc_ki[mc->mc_top] >= NUMKEYS(mc->mc_pg[mc->mc_top])) in mdb_cursor_count()
7721 leaf = NODEPTR(mc->mc_pg[mc->mc_top], mc->mc_ki[mc->mc_top]); in mdb_cursor_count()
7778 indx = mc->mc_ki[mc->mc_top]; in mdb_update_key()
7779 mp = mc->mc_pg[mc->mc_top]; in mdb_update_key()
7874 if (IS_LEAF2(csrc->mc_pg[csrc->mc_top])) { in mdb_node_move()
7876 key.mv_data = LEAF2KEY(csrc->mc_pg[csrc->mc_top], csrc->mc_ki[csrc->mc_top], key.mv_size); in mdb_node_move()
7882 srcnode = NODEPTR(csrc->mc_pg[csrc->mc_top], csrc->mc_ki[csrc->mc_top]); in mdb_node_move()
7886 if (csrc->mc_ki[csrc->mc_top] == 0 && IS_BRANCH(csrc->mc_pg[csrc->mc_top])) { in mdb_node_move()
7893 if (IS_LEAF2(csrc->mc_pg[csrc->mc_top])) { in mdb_node_move()
7895 key.mv_data = LEAF2KEY(csrc->mc_pg[csrc->mc_top], 0, key.mv_size); in mdb_node_move()
7897 s2 = NODEPTR(csrc->mc_pg[csrc->mc_top], 0); in mdb_node_move()
7902 csrc->mc_top = snum; in mdb_node_move()
7911 if (IS_BRANCH(cdst->mc_pg[cdst->mc_top]) && cdst->mc_ki[cdst->mc_top] == 0) { in mdb_node_move()
7920 if (IS_LEAF2(mn.mc_pg[mn.mc_top])) { in mdb_node_move()
7922 bkey.mv_data = LEAF2KEY(mn.mc_pg[mn.mc_top], 0, bkey.mv_size); in mdb_node_move()
7924 s2 = NODEPTR(mn.mc_pg[mn.mc_top], 0); in mdb_node_move()
7929 mn.mc_top = snum; in mdb_node_move()
7937 IS_LEAF(csrc->mc_pg[csrc->mc_top]) ? "leaf" : "branch", in mdb_node_move()
7938 csrc->mc_ki[csrc->mc_top], in mdb_node_move()
7940 csrc->mc_pg[csrc->mc_top]->mp_pgno, in mdb_node_move()
7941 cdst->mc_ki[cdst->mc_top], cdst->mc_pg[cdst->mc_top]->mp_pgno)); in mdb_node_move()
7945 rc = mdb_node_add(cdst, cdst->mc_ki[cdst->mc_top], &key, &data, srcpg, flags); in mdb_node_move()
7959 mps = csrc->mc_pg[csrc->mc_top]; in mdb_node_move()
7962 mpd = cdst->mc_pg[csrc->mc_top]; in mdb_node_move()
7968 if (!(m3->mc_flags & C_INITIALIZED) || m3->mc_top < csrc->mc_top) in mdb_node_move()
7971 m3->mc_pg[csrc->mc_top] == mpd && in mdb_node_move()
7972 m3->mc_ki[csrc->mc_top] >= cdst->mc_ki[csrc->mc_top]) { in mdb_node_move()
7973 m3->mc_ki[csrc->mc_top]++; in mdb_node_move()
7976 m3->mc_pg[csrc->mc_top] == mps && in mdb_node_move()
7977 m3->mc_ki[csrc->mc_top] == csrc->mc_ki[csrc->mc_top]) { in mdb_node_move()
7978 m3->mc_pg[csrc->mc_top] = cdst->mc_pg[cdst->mc_top]; in mdb_node_move()
7979 m3->mc_ki[csrc->mc_top] = cdst->mc_ki[cdst->mc_top]; in mdb_node_move()
7980 m3->mc_ki[csrc->mc_top-1]++; in mdb_node_move()
7983 XCURSOR_REFRESH(m3, csrc->mc_top, m3->mc_pg[csrc->mc_top]); in mdb_node_move()
7994 if (!(m3->mc_flags & C_INITIALIZED) || m3->mc_top < csrc->mc_top) in mdb_node_move()
7996 if (m3->mc_pg[csrc->mc_top] == mps) { in mdb_node_move()
7997 if (!m3->mc_ki[csrc->mc_top]) { in mdb_node_move()
7998 m3->mc_pg[csrc->mc_top] = cdst->mc_pg[cdst->mc_top]; in mdb_node_move()
7999 m3->mc_ki[csrc->mc_top] = cdst->mc_ki[cdst->mc_top]; in mdb_node_move()
8000 m3->mc_ki[csrc->mc_top-1]--; in mdb_node_move()
8002 m3->mc_ki[csrc->mc_top]--; in mdb_node_move()
8005 XCURSOR_REFRESH(m3, csrc->mc_top, m3->mc_pg[csrc->mc_top]); in mdb_node_move()
8013 if (csrc->mc_ki[csrc->mc_top] == 0) { in mdb_node_move()
8014 if (csrc->mc_ki[csrc->mc_top-1] != 0) { in mdb_node_move()
8015 if (IS_LEAF2(csrc->mc_pg[csrc->mc_top])) { in mdb_node_move()
8016 key.mv_data = LEAF2KEY(csrc->mc_pg[csrc->mc_top], 0, key.mv_size); in mdb_node_move()
8018 srcnode = NODEPTR(csrc->mc_pg[csrc->mc_top], 0); in mdb_node_move()
8023 csrc->mc_pg[csrc->mc_top]->mp_pgno, DKEY(&key))); in mdb_node_move()
8026 mn.mc_top--; in mdb_node_move()
8033 if (IS_BRANCH(csrc->mc_pg[csrc->mc_top])) { in mdb_node_move()
8035 indx_t ix = csrc->mc_ki[csrc->mc_top]; in mdb_node_move()
8037 csrc->mc_ki[csrc->mc_top] = 0; in mdb_node_move()
8039 csrc->mc_ki[csrc->mc_top] = ix; in mdb_node_move()
8044 if (cdst->mc_ki[cdst->mc_top] == 0) { in mdb_node_move()
8045 if (cdst->mc_ki[cdst->mc_top-1] != 0) { in mdb_node_move()
8046 if (IS_LEAF2(csrc->mc_pg[csrc->mc_top])) { in mdb_node_move()
8047 key.mv_data = LEAF2KEY(cdst->mc_pg[cdst->mc_top], 0, key.mv_size); in mdb_node_move()
8049 srcnode = NODEPTR(cdst->mc_pg[cdst->mc_top], 0); in mdb_node_move()
8054 cdst->mc_pg[cdst->mc_top]->mp_pgno, DKEY(&key))); in mdb_node_move()
8057 mn.mc_top--; in mdb_node_move()
8064 if (IS_BRANCH(cdst->mc_pg[cdst->mc_top])) { in mdb_node_move()
8066 indx_t ix = cdst->mc_ki[cdst->mc_top]; in mdb_node_move()
8068 cdst->mc_ki[cdst->mc_top] = 0; in mdb_node_move()
8070 cdst->mc_ki[cdst->mc_top] = ix; in mdb_node_move()
8096 psrc = csrc->mc_pg[csrc->mc_top]; in mdb_page_merge()
8097 pdst = cdst->mc_pg[cdst->mc_top]; in mdb_page_merge()
8109 pdst = cdst->mc_pg[cdst->mc_top]; in mdb_page_merge()
8135 if (IS_LEAF2(mn.mc_pg[mn.mc_top])) { in mdb_page_merge()
8137 key.mv_data = LEAF2KEY(mn.mc_pg[mn.mc_top], 0, key.mv_size); in mdb_page_merge()
8139 s2 = NODEPTR(mn.mc_pg[mn.mc_top], 0); in mdb_page_merge()
8162 csrc->mc_top--; in mdb_page_merge()
8164 if (csrc->mc_ki[csrc->mc_top] == 0) { in mdb_page_merge()
8168 csrc->mc_top++; in mdb_page_merge()
8172 csrc->mc_top++; in mdb_page_merge()
8174 psrc = csrc->mc_pg[csrc->mc_top]; in mdb_page_merge()
8189 unsigned int top = csrc->mc_top; in mdb_page_merge()
8219 cdst->mc_top = snum-1; in mdb_page_merge()
8238 cdst->mc_top = csrc->mc_top; in mdb_cursor_copy()
8261 if (IS_BRANCH(mc->mc_pg[mc->mc_top])) { in mdb_rebalance()
8269 IS_LEAF(mc->mc_pg[mc->mc_top]) ? "leaf" : "branch", in mdb_rebalance()
8270 mdb_dbg_pgno(mc->mc_pg[mc->mc_top]), NUMKEYS(mc->mc_pg[mc->mc_top]), in mdb_rebalance()
8271 (float)PAGEFILL(mc->mc_txn->mt_env, mc->mc_pg[mc->mc_top]) / 10)); in mdb_rebalance()
8273 if (PAGEFILL(mc->mc_txn->mt_env, mc->mc_pg[mc->mc_top]) >= thresh && in mdb_rebalance()
8274 NUMKEYS(mc->mc_pg[mc->mc_top]) >= minkeys) { in mdb_rebalance()
8276 mdb_dbg_pgno(mc->mc_pg[mc->mc_top]))); in mdb_rebalance()
8296 mc->mc_top = 0; in mdb_rebalance()
8311 m3->mc_top = 0; in mdb_rebalance()
8352 m3->mc_top--; in mdb_rebalance()
8364 ptop = mc->mc_top-1; in mdb_rebalance()
8377 oldki = mc->mc_ki[mc->mc_top]; in mdb_rebalance()
8384 rc = mdb_page_get(mc, NODEPGNO(node), &mn.mc_pg[mn.mc_top], NULL); in mdb_rebalance()
8387 mn.mc_ki[mn.mc_top] = 0; in mdb_rebalance()
8388 mc->mc_ki[mc->mc_top] = NUMKEYS(mc->mc_pg[mc->mc_top]); in mdb_rebalance()
8396 rc = mdb_page_get(mc, NODEPGNO(node), &mn.mc_pg[mn.mc_top], NULL); in mdb_rebalance()
8399 mn.mc_ki[mn.mc_top] = NUMKEYS(mn.mc_pg[mn.mc_top]) - 1; in mdb_rebalance()
8400 mc->mc_ki[mc->mc_top] = 0; in mdb_rebalance()
8405 mn.mc_pg[mn.mc_top]->mp_pgno, NUMKEYS(mn.mc_pg[mn.mc_top]), in mdb_rebalance()
8406 (float)PAGEFILL(mc->mc_txn->mt_env, mn.mc_pg[mn.mc_top]) / 10)); in mdb_rebalance()
8412 …if (PAGEFILL(mc->mc_txn->mt_env, mn.mc_pg[mn.mc_top]) >= thresh && NUMKEYS(mn.mc_pg[mn.mc_top]) > … in mdb_rebalance()
8422 oldki += NUMKEYS(mn.mc_pg[mn.mc_top]); in mdb_rebalance()
8423 mn.mc_ki[mn.mc_top] += mc->mc_ki[mn.mc_top] + 1; in mdb_rebalance()
8431 mc->mc_ki[mc->mc_top] = oldki; in mdb_rebalance()
8446 ki = mc->mc_ki[mc->mc_top]; in mdb_cursor_del0()
8447 mp = mc->mc_pg[mc->mc_top]; in mdb_cursor_del0()
8458 if (m3->mc_pg[mc->mc_top] == mp) { in mdb_cursor_del0()
8459 if (m3->mc_ki[mc->mc_top] == ki) { in mdb_cursor_del0()
8466 } else if (m3->mc_ki[mc->mc_top] > ki) { in mdb_cursor_del0()
8467 m3->mc_ki[mc->mc_top]--; in mdb_cursor_del0()
8469 XCURSOR_REFRESH(m3, mc->mc_top, mp); in mdb_cursor_del0()
8486 mp = mc->mc_pg[mc->mc_top]; in mdb_cursor_del0()
8496 if (m3->mc_pg[mc->mc_top] == mp) { in mdb_cursor_del0()
8497 if (m3->mc_ki[mc->mc_top] >= mc->mc_ki[mc->mc_top]) { in mdb_cursor_del0()
8499 if (m3->mc_ki[mc->mc_top] >= nkeys) { in mdb_cursor_del0()
8510 MDB_node *node = NODEPTR(m3->mc_pg[m3->mc_top], m3->mc_ki[m3->mc_top]); in mdb_cursor_del0()
8631 mp = mc->mc_pg[mc->mc_top]; in mdb_page_split()
8632 newindx = mc->mc_ki[mc->mc_top]; in mdb_page_split()
8637 DKEY(newkey), mc->mc_ki[mc->mc_top], nkeys)); in mdb_page_split()
8650 if (mc->mc_top < 1) { in mdb_page_split()
8674 mc->mc_top++; in mdb_page_split()
8677 ptop = mc->mc_top-1; in mdb_page_split()
8683 mn.mc_pg[mn.mc_top] = rp; in mdb_page_split()
8687 mn.mc_ki[mn.mc_top] = 0; in mdb_page_split()
8700 x = mc->mc_ki[mc->mc_top] - split_indx; in mdb_page_split()
8716 ins = LEAF2KEY(mp, mc->mc_ki[mc->mc_top], ksize); in mdb_page_split()
8719 memmove(ins+ksize, ins, (split_indx - mc->mc_ki[mc->mc_top]) * ksize); in mdb_page_split()
8731 mc->mc_ki[mc->mc_top] = x; in mdb_page_split()
8826 mn.mc_top--; in mdb_page_split()
8857 mn.mc_top--; in mdb_page_split()
8859 mn.mc_top++; in mdb_page_split()
8865 mc->mc_pg[mc->mc_top] = rp; in mdb_page_split()
8866 mc->mc_ki[mc->mc_top] = 0; in mdb_page_split()
8870 for (i=0; i<mc->mc_top; i++) in mdb_page_split()
8874 mc->mc_pg[mc->mc_top] = rp; in mdb_page_split()
8887 mc->mc_ki[mc->mc_top] = j; in mdb_page_split()
8912 mc->mc_pg[mc->mc_top] = copy; in mdb_page_split()
8929 mc->mc_pg[mc->mc_top] = mp; in mdb_page_split()
8931 mc->mc_pg[mc->mc_top] = rp; in mdb_page_split()
8944 node = NODEPTR(mc->mc_pg[mc->mc_top], mc->mc_ki[mc->mc_top]); in mdb_page_split()
8950 mc->mc_pg[mc->mc_top] = rp; in mdb_page_split()
8996 m3->mc_top++; in mdb_page_split()
8998 if (m3->mc_top >= mc->mc_top && m3->mc_pg[mc->mc_top] == mp) { in mdb_page_split()
8999 if (m3->mc_ki[mc->mc_top] >= newindx && !(nflags & MDB_SPLIT_REPLACE)) in mdb_page_split()
9000 m3->mc_ki[mc->mc_top]++; in mdb_page_split()
9001 if (m3->mc_ki[mc->mc_top] >= nkeys) { in mdb_page_split()
9002 m3->mc_pg[mc->mc_top] = rp; in mdb_page_split()
9003 m3->mc_ki[mc->mc_top] -= nkeys; in mdb_page_split()
9004 for (i=0; i<mc->mc_top; i++) { in mdb_page_split()
9009 } else if (!did_split && m3->mc_top >= ptop && m3->mc_pg[ptop] == mc->mc_pg[ptop] && in mdb_page_split()
9014 XCURSOR_REFRESH(m3, mc->mc_top, m3->mc_pg[mc->mc_top]); in mdb_page_split()
9209 for (i=0; i<mc.mc_top; i++) { in mdb_env_cwalk()
9221 mp = mc.mc_pg[mc.mc_top]; in mdb_env_cwalk()
9234 mc.mc_pg[mc.mc_top] = leaf; in mdb_env_cwalk()
9269 mc.mc_pg[mc.mc_top] = leaf; in mdb_env_cwalk()
9286 mc.mc_ki[mc.mc_top]++; in mdb_env_cwalk()
9287 if (mc.mc_ki[mc.mc_top] < n) { in mdb_env_cwalk()
9290 ni = NODEPTR(mp, mc.mc_ki[mc.mc_top]); in mdb_env_cwalk()
9295 mc.mc_top++; in mdb_env_cwalk()
9297 mc.mc_ki[mc.mc_top] = 0; in mdb_env_cwalk()
9302 mdb_page_copy(mc.mc_pg[mc.mc_top], mp, my->mc_env->me_psize); in mdb_env_cwalk()
9305 mc.mc_pg[mc.mc_top] = mp; in mdb_env_cwalk()
9319 if (mc.mc_top) { in mdb_env_cwalk()
9321 ni = NODEPTR(mc.mc_pg[mc.mc_top-1], mc.mc_ki[mc.mc_top-1]); in mdb_env_cwalk()
9816 MDB_node *node = NODEPTR(mc.mc_pg[mc.mc_top], mc.mc_ki[mc.mc_top]); in mdb_dbi_open()
9939 MDB_page *mp = mc->mc_pg[mc->mc_top]; in mdb_drop0()
9979 if (!mc->mc_top) in mdb_drop0()
9981 mc->mc_ki[mc->mc_top] = i; in mdb_drop0()