• 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 refs:pagep

18 #define	IS_BTREE_PAGE(pagep)						\
19 (TYPE(pagep) == P_IBTREE || \
20 TYPE(pagep) == P_LBTREE || TYPE(pagep) == P_LDUP)
344 PAGE *pagep;
350 pagep = NULL;
356 if ((ret = __memp_fget(mpf, &pgno, ip, NULL, 0, &pagep)) != 0) {
364 cmp_n = LOG_COMPARE(lsnp, &LSN(pagep));
365 cmp_p = LOG_COMPARE(&LSN(pagep), &argp->rootlsn);
366 CHECK_LSN(env, op, cmp_p, &LSN(pagep), &argp->rootlsn);
375 REC_DIRTY(mpf, ip, dbc->priority, &pagep);
376 rcnt = RE_NREC(pagep);
377 memcpy(pagep, argp->pgdbt.data, argp->pgdbt.size);
378 if (LEVEL(pagep) > LEAFLEVEL)
379 RE_NREC_SET(pagep, rcnt);
380 pagep->pgno = root_pgno;
381 pagep->lsn = *lsnp;
384 REC_DIRTY(mpf, ip, dbc->priority, &pagep);
385 P_INIT(pagep, file_dbp->pgsize, root_pgno,
386 argp->nrec, PGNO_INVALID, pagep->level + 1,
387 IS_BTREE_PAGE(pagep) ? P_IBTREE : P_IRECNO);
388 if ((ret = __db_pitem(dbc, pagep, 0,
391 pagep->lsn = argp->rootlsn;
393 if ((ret = __memp_fput(mpf, ip, pagep, dbc->priority)) != 0)
402 if ((ret = __memp_fget(mpf, &argp->pgno, ip, NULL, 0, &pagep)) != 0) {
410 cmp_n = LOG_COMPARE(lsnp, &LSN(pagep));
411 cmp_p = LOG_COMPARE(&LSN(pagep), &copy_lsn);
412 CHECK_LSN(env, op, cmp_p, &LSN(pagep), &copy_lsn);
415 REC_DIRTY(mpf, ip, dbc->priority, &pagep);
416 pagep->lsn = *lsnp;
419 REC_DIRTY(mpf, ip, dbc->priority, &pagep);
420 memcpy(pagep, argp->pgdbt.data, argp->pgdbt.size);
422 if ((ret = __memp_fput(mpf, ip, pagep, dbc->priority)) != 0)
424 pagep = NULL;
429 out: if (pagep != NULL)
430 (void)__memp_fput(mpf, ip, pagep, dbc->priority);
454 PAGE *pagep;
458 pagep = NULL;
463 if ((ret = __memp_fget(mpf, &argp->pgno, ip, NULL, 0, &pagep)) != 0) {
471 cmp_n = LOG_COMPARE(lsnp, &LSN(pagep));
472 cmp_p = LOG_COMPARE(&LSN(pagep), &argp->lsn);
473 CHECK_LSN(env, op, cmp_p, &LSN(pagep), &argp->lsn);
476 REC_DIRTY(mpf, ip, dbc->priority, &pagep);
478 pagep, argp->indx, argp->indx_copy, argp->is_insert)) != 0)
481 LSN(pagep) = *lsnp;
484 REC_DIRTY(mpf, ip, dbc->priority, &pagep);
486 pagep, argp->indx, argp->indx_copy, !argp->is_insert)) != 0)
489 LSN(pagep) = argp->lsn;
491 if ((ret = __memp_fput(mpf, ip, pagep, dbc->priority)) != 0)
493 pagep = NULL;
498 out: if (pagep != NULL)
499 (void)__memp_fput(mpf, ip, pagep, dbc->priority);
524 PAGE *pagep;
528 pagep = NULL;
533 if ((ret = __memp_fget(mpf, &argp->pgno, ip, NULL, 0, &pagep)) != 0) {
541 cmp_n = LOG_COMPARE(lsnp, &LSN(pagep));
542 cmp_p = LOG_COMPARE(&LSN(pagep), &argp->lsn);
543 CHECK_LSN(env, op, cmp_p, &LSN(pagep), &argp->lsn);
546 REC_DIRTY(mpf, ip, file_dbp->priority, &pagep);
547 if (IS_BTREE_PAGE(pagep)) {
548 GET_BINTERNAL(file_dbp, pagep, argp->indx)->nrecs +=
551 RE_NREC_ADJ(pagep, argp->adjust);
553 GET_RINTERNAL(file_dbp, pagep, argp->indx)->nrecs +=
556 RE_NREC_ADJ(pagep, argp->adjust);
559 LSN(pagep) = *lsnp;
562 REC_DIRTY(mpf, ip, file_dbp->priority, &pagep);
563 if (IS_BTREE_PAGE(pagep)) {
564 GET_BINTERNAL(file_dbp, pagep, argp->indx)->nrecs -=
567 RE_NREC_ADJ(pagep, -(argp->adjust));
569 GET_RINTERNAL(file_dbp, pagep, argp->indx)->nrecs -=
572 RE_NREC_ADJ(pagep, -(argp->adjust));
574 LSN(pagep) = argp->lsn;
576 if ((ret = __memp_fput(mpf, ip, pagep, file_dbp->priority)) != 0)
578 pagep = NULL;
583 out: if (pagep != NULL)
584 (void)__memp_fput(mpf, ip, pagep, file_dbp->priority);
608 PAGE *pagep;
613 pagep = NULL;
618 if ((ret = __memp_fget(mpf, &argp->pgno, ip, NULL, 0, &pagep)) != 0) {
626 cmp_n = LOG_COMPARE(lsnp, &LSN(pagep));
627 cmp_p = LOG_COMPARE(&LSN(pagep), &argp->lsn);
628 CHECK_LSN(env, op, cmp_p, &LSN(pagep), &argp->lsn);
631 REC_DIRTY(mpf, ip, file_dbp->priority, &pagep);
632 indx = argp->indx + (TYPE(pagep) == P_LBTREE ? O_INDX : 0);
633 B_DSET(GET_BKEYDATA(file_dbp, pagep, indx)->type);
635 LSN(pagep) = *lsnp;
638 REC_DIRTY(mpf, ip, file_dbp->priority, &pagep);
639 indx = argp->indx + (TYPE(pagep) == P_LBTREE ? O_INDX : 0);
640 B_DCLR(GET_BKEYDATA(file_dbp, pagep, indx)->type);
646 LSN(pagep) = argp->lsn;
648 if ((ret = __memp_fput(mpf, ip, pagep, file_dbp->priority)) != 0)
650 pagep = NULL;
655 out: if (pagep != NULL)
656 (void)__memp_fput(mpf, ip, pagep, file_dbp->priority);
682 PAGE *pagep;
687 pagep = NULL;
692 if ((ret = __memp_fget(mpf, &argp->pgno, ip, NULL, 0, &pagep)) != 0) {
699 bk = GET_BKEYDATA(file_dbp, pagep, argp->indx);
701 cmp_n = LOG_COMPARE(lsnp, &LSN(pagep));
702 cmp_p = LOG_COMPARE(&LSN(pagep), &argp->lsn);
703 CHECK_LSN(env, op, cmp_p, &LSN(pagep), &argp->lsn);
710 REC_DIRTY(mpf, ip, dbc->priority, &pagep);
722 ret = __bam_ritem(dbc, pagep, argp->indx, &dbt);
727 LSN(pagep) = *lsnp;
734 REC_DIRTY(mpf, ip, dbc->priority, &pagep);
746 ret = __bam_ritem(dbc, pagep, argp->indx, &dbt);
753 B_DSET(GET_BKEYDATA(file_dbp, pagep, argp->indx)->type);
755 LSN(pagep) = argp->lsn;
757 if ((ret = __memp_fput(mpf, ip, pagep, dbc->priority)) != 0)
759 pagep = NULL;
764 out: if (pagep != NULL)
765 (void)__memp_fput(mpf, ip, pagep, dbc->priority);
1000 PAGE *pagep;
1004 pagep = NULL;
1014 if ((ret = __memp_fget(mpf, &argp->next, ip, NULL, 0, &pagep)) != 0) {
1022 cmp_n = LOG_COMPARE(lsnp, &LSN(pagep));
1023 cmp_p = LOG_COMPARE(&LSN(pagep), &argp->lsn_next);
1024 CHECK_LSN(env, op, cmp_p, &LSN(pagep), &argp->lsn_next);
1027 REC_DIRTY(mpf, ip, file_dbp->priority, &pagep);
1029 pagep->prev_pgno = argp->prev;
1031 pagep->prev_pgno = argp->new_pgno;
1033 pagep->lsn = *lsnp;
1036 REC_DIRTY(mpf, ip, file_dbp->priority, &pagep);
1037 pagep->prev_pgno = argp->pgno;
1039 pagep->lsn = argp->lsn_next;
1042 if ((ret = __memp_fput(mpf, ip, pagep, file_dbp->priority)) != 0)
1044 pagep = NULL;
1046 prev: if ((ret = __memp_fget(mpf, &argp->prev, ip, NULL, 0, &pagep)) != 0) {
1054 cmp_p = LOG_COMPARE(&LSN(pagep), &argp->lsn_prev);
1055 CHECK_LSN(env, op, cmp_p, &LSN(pagep), &argp->lsn_prev);
1058 REC_DIRTY(mpf, ip, file_dbp->priority, &pagep);
1060 pagep->next_pgno = argp->next;
1062 pagep->next_pgno = argp->new_pgno;
1064 pagep->lsn = *lsnp;
1065 } else if (LOG_COMPARE(lsnp, &LSN(pagep)) == 0 && DB_UNDO(op)) {
1067 REC_DIRTY(mpf, ip, file_dbp->priority, &pagep);
1068 pagep->next_pgno = argp->pgno;
1069 pagep->lsn = argp->lsn_prev;
1073 ip, pagep, file_dbp->priority)) != 0)
1075 pagep = NULL;
1080 out: if (pagep != NULL)
1081 (void)__memp_fput(mpf, ip, pagep, file_dbp->priority);
1106 PAGE *pagep;
1116 if ((ret = __memp_fget(mpf, &argp->pgno, ip, NULL, 0, &pagep)) != 0) {
1124 cmp_n = LOG_COMPARE(lsnp, &LSN(pagep));
1125 cmp_p = LOG_COMPARE(&LSN(pagep), &argp->lsn);
1126 CHECK_LSN(file_dbp->env, op, cmp_p, &LSN(pagep), &argp->lsn);
1133 DB_ASSERT(env, argp->hdr.size == 0 || NUM_ENT(pagep) == 0);
1134 REC_DIRTY(mpf, ip, dbc->priority, &pagep);
1136 P_INIT(pagep, file_dbp->pgsize, pagep->pgno,
1141 if (TYPE(pagep) == P_OVERFLOW) {
1142 OV_REF(pagep) = OV_REF(argp->hdr.data);
1143 OV_LEN(pagep) = OV_LEN(argp->hdr.data);
1144 bp = (u_int8_t *) pagep + P_OVERHEAD(file_dbp);
1148 bp = (u_int8_t *)pagep +
1149 (db_indx_t)(HOFFSET(pagep) - argp->data.size);
1153 pinp = P_INP(file_dbp, pagep) + NUM_ENT(pagep);
1158 - (file_dbp->pgsize - HOFFSET(pagep));
1159 HOFFSET(pagep) -= argp->data.size;
1160 NUM_ENT(pagep) += i;
1162 pagep->lsn = *lsnp;
1170 REC_DIRTY(mpf, ip, dbc->priority, &pagep);
1172 indx = NUM_ENT(pagep) - 1;
1173 if (P_INP(file_dbp, pagep)[indx] ==
1174 P_INP(file_dbp, pagep)[indx - P_INDX]) {
1175 NUM_ENT(pagep)--;
1178 switch (TYPE(pagep)) {
1182 bk = GET_BKEYDATA(file_dbp, pagep, indx);
1188 GET_BINTERNAL(file_dbp, pagep, indx)->len);
1195 ret = __db_pgfmt(env, PGNO(pagep));
1199 __db_ditem(dbc, pagep, indx, size)) != 0)
1203 HOFFSET(pagep) = file_dbp->pgsize;
1204 pagep->lsn = argp->lsn;
1207 if ((ret = __memp_fput(mpf, ip, pagep, dbc->priority)) != 0)
1210 next: if ((ret = __memp_fget(mpf, &argp->npgno, ip, NULL, 0, &pagep)) != 0) {
1218 cmp_n = LOG_COMPARE(lsnp, &LSN(pagep));
1219 cmp_p = LOG_COMPARE(&LSN(pagep), &argp->nlsn);
1220 CHECK_LSN(file_dbp->env, op, cmp_p, &LSN(pagep), &argp->nlsn);
1224 REC_DIRTY(mpf, ip, dbc->priority, &pagep);
1225 HOFFSET(pagep) = file_dbp->pgsize;
1226 NUM_ENT(pagep) = 0;
1227 pagep->lsn = *lsnp;
1230 REC_DIRTY(mpf, ip, dbc->priority, &pagep);
1231 if (TYPE(pagep) == P_OVERFLOW) {
1232 OV_REF(pagep) = OV_REF(argp->hdr.data);
1233 OV_LEN(pagep) = OV_LEN(argp->hdr.data);
1234 bp = (u_int8_t *) pagep + P_OVERHEAD(file_dbp);
1237 bp = (u_int8_t *)pagep +
1238 (db_indx_t)(HOFFSET(pagep) - argp->data.size);
1242 pinp = P_INP(file_dbp, pagep) + NUM_ENT(pagep);
1247 HOFFSET(pagep) -= argp->data.size;
1248 NUM_ENT(pagep) = i;
1250 pagep->lsn = argp->nlsn;
1254 ip, pagep, dbc->priority)) != 0)
1284 PAGE *pagep;
1294 if ((ret = __memp_fget(mpf, &argp->pgno, ip, NULL, 0, &pagep)) != 0) {
1302 cmp_n = LOG_COMPARE(lsnp, &LSN(pagep));
1303 cmp_p = LOG_COMPARE(&LSN(pagep), &argp->lsn);
1304 CHECK_LSN(file_dbp->env, op, cmp_p, &LSN(pagep), &argp->lsn);
1310 DB_ASSERT(env, !argp->pg_copy || NUM_ENT(pagep) == 0);
1311 REC_DIRTY(mpf, ip, dbc->priority, &pagep);
1313 P_INIT(pagep, file_dbp->pgsize, pagep->pgno,
1318 if (TYPE(pagep) == P_OVERFLOW) {
1319 OV_REF(pagep) = OV_REF(argp->hdr.data);
1320 OV_LEN(pagep) = OV_LEN(argp->hdr.data);
1321 bp = (u_int8_t *)pagep + P_OVERHEAD(file_dbp);
1325 bp = (u_int8_t *)pagep +
1326 (db_indx_t)(HOFFSET(pagep) - argp->data.size);
1330 pinp = P_INP(file_dbp, pagep) + NUM_ENT(pagep);
1334 - (file_dbp->pgsize - HOFFSET(pagep));
1335 HOFFSET(pagep) -= argp->data.size;
1336 NUM_ENT(pagep) += i;
1338 pagep->lsn = *lsnp;
1340 REC_DIRTY(mpf, ip, dbc->priority, &pagep);
1341 if (TYPE(pagep) == P_OVERFLOW) {
1342 HOFFSET(pagep) = file_dbp->pgsize;
1352 indx = NUM_ENT(pagep) - 1;
1353 if (P_INP(file_dbp, pagep)[indx] ==
1354 P_INP(file_dbp, pagep)[indx - P_INDX]) {
1355 NUM_ENT(pagep)--;
1358 switch (TYPE(pagep)) {
1362 bk = GET_BKEYDATA(file_dbp, pagep, indx);
1368 GET_BINTERNAL(file_dbp, pagep, indx)->len);
1375 ret = __db_pgfmt(env, PGNO(pagep));
1378 if ((ret = __db_ditem(dbc, pagep, indx, size)) != 0)
1381 setlsn: pagep->lsn = argp->lsn;
1384 if ((ret = __memp_fput(mpf, ip, pagep, dbc->priority)) != 0)
1387 next: if ((ret = __memp_fget(mpf, &argp->npgno, ip, NULL, 0, &pagep)) != 0) {
1395 cmp_n = LOG_COMPARE(lsnp, &LSN(pagep));
1396 cmp_p = LOG_COMPARE(&LSN(pagep), &argp->nlsn);
1397 CHECK_LSN(file_dbp->env, op, cmp_p, &LSN(pagep), &argp->nlsn);
1401 REC_DIRTY(mpf, ip, dbc->priority, &pagep);
1402 HOFFSET(pagep) = file_dbp->pgsize;
1403 NUM_ENT(pagep) = 0;
1404 pagep->lsn = *lsnp;
1407 REC_DIRTY(mpf, ip, dbc->priority, &pagep);
1408 if (TYPE(pagep) == P_OVERFLOW) {
1409 OV_REF(pagep) = OV_REF(argp->hdr.data);
1410 OV_LEN(pagep) = OV_LEN(argp->hdr.data);
1411 bp = (u_int8_t *)pagep + P_OVERHEAD(file_dbp);
1414 bp = (u_int8_t *)pagep +
1415 (db_indx_t)(HOFFSET(pagep) - argp->data.size);
1419 pinp = P_INP(file_dbp, pagep) + NUM_ENT(pagep);
1423 HOFFSET(pagep) -= argp->data.size;
1424 NUM_ENT(pagep) += i;
1426 pagep->lsn = argp->nlsn;
1430 ip, pagep, dbc->priority)) != 0)
1460 PAGE *pagep, *npagep;
1468 REC_FGET(mpf, ip, argp->pgno, &pagep, done);
1470 cmp_n = LOG_COMPARE(lsnp, &LSN(pagep));
1471 cmp_p = LOG_COMPARE(&LSN(pagep), &argp->lsn);
1472 CHECK_LSN(file_dbp->env, op, cmp_p, &LSN(pagep), &argp->lsn);
1475 switch (TYPE(pagep)) {
1482 bi = GET_BINTERNAL(file_dbp, pagep, argp->indx);
1500 &GET_RINTERNAL(file_dbp, pagep, argp->indx)->pgno;
1504 &GET_BOVERFLOW(file_dbp, pagep, argp->indx)->pgno;
1510 REC_DIRTY(mpf, ip, file_dbp->priority, &pagep);
1512 pagep->lsn = *lsnp;
1514 REC_DIRTY(mpf, ip, file_dbp->priority, &pagep);
1516 pagep->lsn = argp->lsn;
1520 if ((ret = __memp_fput(mpf, ip, pagep, file_dbp->priority)) != 0)
1550 PAGE *pagep;
1554 pagep = NULL;
1564 if ((ret = __memp_fget(mpf, &argp->pgno, ip, NULL, 0, &pagep)) != 0) {
1572 cmp_p = LOG_COMPARE(&LSN(pagep), &argp->lsn);
1573 CHECK_LSN(env, op, cmp_p, &LSN(pagep), &argp->lsn);
1576 REC_DIRTY(mpf, ip, file_dbp->priority, &pagep);
1577 pagep->lsn = *lsnp;
1578 } else if (LOG_COMPARE(lsnp, &LSN(pagep)) == 0 && DB_UNDO(op)) {
1580 REC_DIRTY(mpf, ip, file_dbp->priority, &pagep);
1581 pagep->next_pgno = argp->next;
1582 pagep->prev_pgno = argp->prev;
1583 pagep->lsn = argp->lsn;
1586 ip, pagep, file_dbp->priority)) != 0)
1588 pagep = NULL;
1590 next2: if ((ret = __memp_fget(mpf, &argp->next, ip, NULL, 0, &pagep)) != 0) {
1599 cmp_n = LOG_COMPARE(lsnp, &LSN(pagep));
1600 cmp_p = LOG_COMPARE(&LSN(pagep), &argp->lsn_next);
1601 CHECK_LSN(env, op, cmp_p, &LSN(pagep), &argp->lsn_next);
1604 REC_DIRTY(mpf, ip, file_dbp->priority, &pagep);
1605 pagep->prev_pgno = argp->prev;
1609 REC_DIRTY(mpf, ip, file_dbp->priority, &pagep);
1610 pagep->prev_pgno = argp->pgno;
1615 pagep->lsn = argp->lsn_next;
1617 pagep->lsn = *lsnp;
1620 ip, pagep, file_dbp->priority)) != 0)
1622 pagep = NULL;
1624 prev: if ((ret = __memp_fget(mpf, &argp->prev, ip, NULL, 0, &pagep)) != 0) {
1633 cmp_p = LOG_COMPARE(&LSN(pagep), &argp->lsn_prev);
1634 CHECK_LSN(env, op, cmp_p, &LSN(pagep), &argp->lsn_prev);
1637 REC_DIRTY(mpf, ip, file_dbp->priority, &pagep);
1638 pagep->next_pgno = argp->next;
1640 } else if (LOG_COMPARE(lsnp, &LSN(pagep)) == 0 && DB_UNDO(op)) {
1642 REC_DIRTY(mpf, ip, file_dbp->priority, &pagep);
1643 pagep->next_pgno = argp->pgno;
1648 pagep->lsn = argp->lsn_prev;
1650 pagep->lsn = *lsnp;
1653 ip, pagep, file_dbp->priority)) != 0)
1655 pagep = NULL;
1660 out: if (pagep != NULL)
1661 (void)__memp_fput(mpf, ip, pagep, file_dbp->priority);