Lines Matching defs:pagep

86 __big_insert(hashp, pagep, key, val)
88 PAGE16 *pagep;
100 NUM_ENT(pagep) = NUM_ENT(pagep) + 1;
104 pagep =
105 __add_bigpage(hashp, pagep, NUM_ENT(pagep) - 1, base_page);
106 if (!pagep)
110 NUM_ENT(pagep) = 1;
113 key_move_bytes = MIN(FREESPACE(pagep), key_size);
115 BIGKEYLEN(pagep) = key_move_bytes;
117 MIN(FREESPACE(pagep) - key_move_bytes, val_size);
118 BIGDATALEN(pagep) = val_move_bytes;
122 memmove(BIGKEY(pagep), key_data, key_move_bytes);
124 memmove(BIGDATA(pagep), val_data, val_move_bytes);
133 __put_page(hashp, pagep, A_RAW, 1);
146 __big_delete(HTAB *hashp, PAGE16 *pagep, indx_t ndx)
148 __big_delete(hashp, pagep, ndx)
150 PAGE16 *pagep;
157 pagep = __get_page(hashp, OADDR_TO_PAGE(DATA_OFF(pagep, ndx)), A_RAW);
158 if (!pagep)
165 while (NEXT_PGNO(pagep) != INVALID_PGNO) {
166 last_pagep = pagep;
167 pagep = __get_page(hashp, NEXT_PGNO(pagep), A_RAW);
168 if (!pagep)
174 __delete_page(hashp, pagep, A_OVFL);
194 PAGE16 *pagep, *hold_pagep;
206 if (cursorp->pagep)
207 pagep = hold_pagep = cursorp->pagep;
209 pagep = __get_page(hashp, cursorp->pgno, A_RAW);
210 if (!pagep)
221 next_pgno = OADDR_TO_PAGE(DATA_OFF(pagep, (cursorp->pgndx - 1)));
223 __put_page(hashp, pagep, A_RAW, 0);
224 pagep = __get_page(hashp, next_pgno, A_RAW);
225 if (!pagep)
229 while ((ksize > 0) && (BIGKEYLEN(pagep))) {
230 if (ksize < KEY_OFF(pagep, 0) ||
231 memcmp(BIGKEY(pagep), kkey, BIGKEYLEN(pagep))) {
232 __put_page(hashp, pagep, A_RAW, 0);
235 kkey += BIGKEYLEN(pagep);
236 ksize -= BIGKEYLEN(pagep);
237 if (NEXT_PGNO(pagep) != INVALID_PGNO) {
238 next_pgno = NEXT_PGNO(pagep);
239 __put_page(hashp, pagep, A_RAW, 0);
240 pagep = __get_page(hashp, next_pgno, A_RAW);
241 if (!pagep)
245 __put_page(hashp, pagep, A_RAW, 0);
262 __big_keydata(hashp, pagep, key, val, ndx)
264 PAGE16 *pagep;
273 __get_page(hashp, OADDR_TO_PAGE(DATA_OFF(pagep, ndx)), A_RAW);
293 __get_bigkey(HTAB *hashp, PAGE16 *pagep, indx_t ndx, DBT *key)
295 __get_bigkey(hashp, pagep, ndx, key)
297 PAGE16 *pagep;
305 if (!pagep)
309 __get_page(hashp, OADDR_TO_PAGE(DATA_OFF(pagep, ndx)), A_RAW);
333 PAGE16 *pagep;
338 pagep = __get_page(hashp,
340 if (!pagep)
343 pagep = __get_page(hashp, item_info->pgno, A_RAW);
344 if (!pagep)
349 while (!BIGDATALEN(pagep)) {
350 next_pgno = NEXT_PGNO(pagep);
351 __put_page(hashp, pagep, A_RAW, 0);
352 pagep = __get_page(hashp, next_pgno, A_RAW);
353 if (!pagep)
357 val->size = collect_data(hashp, pagep, 0);
362 __put_page(hashp, pagep, A_RAW, 0);
378 collect_key(hashp, pagep, len, last_page)
380 PAGE16 *pagep;
392 if (BIGDATALEN(pagep)) {
393 totlen = len + BIGKEYLEN(pagep);
400 BIGKEY(pagep), BIGKEYLEN(pagep));
402 *last_page = ADDR(pagep);
407 if (BIGKEYLEN(pagep) == 0) {
413 totlen = len + BIGKEYLEN(pagep);
415 /* Set pagep to the next page in the chain. */
417 *last_page = ADDR(pagep);
418 next_pgno = NEXT_PGNO(pagep);
423 save_addr = ADDR(pagep);
428 assert(save_addr == ADDR(pagep));
430 memcpy(hashp->bigkey_buf + len, BIGKEY(pagep), BIGKEYLEN(pagep));
446 collect_data(hashp, pagep, len)
448 PAGE16 *pagep;
459 if (NEXT_PGNO(pagep) == INVALID_PGNO) {
462 totlen = len + BIGDATALEN(pagep);
466 memcpy(hashp->bigdata_buf + totlen - BIGDATALEN(pagep),
467 BIGDATA(pagep), BIGDATALEN(pagep));
470 totlen = len + BIGDATALEN(pagep);
472 /* Set pagep to the next page in the chain. */
473 next_pgno = NEXT_PGNO(pagep);
479 save_addr = ADDR(pagep);
483 assert(save_addr == ADDR(pagep));
485 memcpy(hashp->bigdata_buf + totlen - BIGDATALEN(pagep),
486 BIGDATA(pagep), BIGDATALEN(pagep));