Lines Matching refs:redo
75 __ham_insdel_recover(logp, dbtp, lsnp, redo, info)
79 int redo;
99 if (!redo) {
121 * redo a delete/undo a put: delete the item from the page.
122 * redo a put/undo a delete: add the item to the page.
131 if ((op == DELPAIR && cmp_n == 0 && !redo) ||
132 (op == PUTPAIR && cmp_p == 0 && redo)) {
134 * Need to redo a PUT or undo a delete. If we are undoing a
142 !redo || PAIR_ISKEYBIG(argp->opcode) ?
145 !redo || PAIR_ISDATABIG(argp->opcode) ?
151 LSN(pagep) = redo ? *lsnp : argp->pagelsn;
155 } else if ((op == DELPAIR && cmp_p == 0 && redo)
156 || (op == PUTPAIR && cmp_n == 0 && !redo)) {
157 /* Need to undo a put or redo a delete. */
159 LSN(pagep) = redo ? *lsnp : argp->pagelsn;
184 __ham_newpage_recover(logp, dbtp, lsnp, redo, info)
188 int redo;
207 if (!redo) {
235 if ((cmp_p == 0 && redo && argp->opcode == PUTOVFL) ||
236 (cmp_n == 0 && !redo && argp->opcode == DELOVFL)) {
241 } else if ((cmp_p == 0 && redo && argp->opcode == DELOVFL) ||
242 (cmp_n == 0 && !redo && argp->opcode == PUTOVFL)) {
254 LSN(pagep) = redo ? *lsnp : argp->pagelsn;
264 if (!redo) {
282 if ((cmp_p == 0 && redo && argp->opcode == PUTOVFL) ||
283 (cmp_n == 0 && !redo && argp->opcode == DELOVFL)) {
287 } else if ((cmp_p == 0 && redo && argp->opcode == DELOVFL) ||
288 (cmp_n == 0 && !redo && argp->opcode == PUTOVFL)) {
299 LSN(pagep) = redo ? *lsnp : argp->prevlsn;
311 if (!redo) {
328 if ((cmp_p == 0 && redo && argp->opcode == PUTOVFL) ||
329 (cmp_n == 0 && !redo && argp->opcode == DELOVFL)) {
333 } else if ((cmp_p == 0 && redo && argp->opcode == DELOVFL) ||
334 (cmp_n == 0 && !redo && argp->opcode == PUTOVFL)) {
345 LSN(pagep) = redo ? *lsnp : argp->nextlsn;
370 __ham_replace_recover(logp, dbtp, lsnp, redo, info)
374 int redo;
396 if (!redo) {
416 if (cmp_p == 0 && redo) {
423 } else if (cmp_n == 0 && !redo) {
440 if (redo)
467 __ham_newpgno_recover(logp, dbtp, lsnp, redo, info)
471 int redo;
502 if ((cmp_p == 0 && redo && argp->opcode == ALLOCPGNO) ||
503 (cmp_n == 0 && !redo && argp->opcode == DELPGNO)) {
504 /* Need to redo an allocation or undo a deletion. */
506 if (redo && argp->old_pgno != 0) /* Must be ALLOCPGNO */
509 } else if (cmp_p == 0 && redo && argp->opcode == DELPGNO) {
510 /* Need to redo a deletion */
513 } else if (cmp_n == 0 && !redo && argp->opcode == ALLOCPGNO) {
524 hcp->hdr->lsn = redo ? *lsnp : argp->metalsn;
533 if (!redo) {
549 if (cmp_p == 0 && redo && argp->opcode == ALLOCPGNO) {
550 /* Need to redo an allocation. */
554 } else if (cmp_n == 0 && !redo && argp->opcode == DELPGNO) {
559 } else if ((cmp_p == 0 && redo && argp->opcode == DELPGNO) ||
560 (cmp_n == 0 && !redo && argp->opcode == ALLOCPGNO)) {
561 /* Need to redo a deletion or undo an allocation. */
567 LSN(pagep) = redo ? *lsnp : argp->pagelsn;
590 __ham_splitmeta_recover(logp, dbtp, lsnp, redo, info)
594 int redo;
625 if (cmp_p == 0 && redo) {
626 /* Need to redo the split information. */
640 } else if (cmp_n == 0 && !redo) {
651 hcp->hdr->lsn = redo ? *lsnp : argp->metalsn;
670 __ham_splitdata_recover(logp, dbtp, lsnp, redo, info)
674 int redo;
693 if (!redo) {
717 * is used for redo. We should never have a case where there is
718 * a redo operation and the SPLITOLD record is on disk, but not
720 * redo NEW messages and undo OLD messages, but we have to update
724 if (cmp_p == 0 && redo) {
726 /* Need to redo the split described. */
731 } else if (cmp_n == 0 && !redo) {
761 __ham_ovfl_recover(logp, dbtp, lsnp, redo, info)
765 int redo;
791 if (cmp_p == 0 && redo) {
797 } else if (cmp_n == 0 && !redo) {
808 if (!redo) {
816 if (redo && log_compare((const DB_LSN *)lsnp,
823 } else if (!redo) {
848 __ham_copypage_recover(logp, dbtp, lsnp, redo, info)
852 int redo;
878 if (!redo) {
894 if (cmp_p == 0 && redo) {
895 /* Need to redo update described. */
899 } else if (cmp_n == 0 && !redo) {
912 if (!redo) {
928 if (cmp_n == 0 && !redo) {
942 if (!redo) {
957 if (cmp_p == 0 && redo) {
958 /* Need to redo update described. */
962 } else if (cmp_n == 0 && !redo) {