~ubuntu-branches/ubuntu/maverick/mysql-5.1/maverick-proposed

« back to all changes in this revision

Viewing changes to storage/innobase/row/row0purge.c

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2012-02-22 14:16:05 UTC
  • mto: This revision was merged to the branch mainline in revision 20.
  • Revision ID: package-import@ubuntu.com-20120222141605-nxlu9yzc6attylc2
Tags: upstream-5.1.61
ImportĀ upstreamĀ versionĀ 5.1.61

Show diffs side-by-side

added added

removed removed

Lines of Context:
379
379
 
380
380
        ut_ad(node);
381
381
 
382
 
        if (node->rec_type == TRX_UNDO_UPD_DEL_REC) {
 
382
        if (node->rec_type == TRX_UNDO_UPD_DEL_REC
 
383
            || (node->cmpl_info & UPD_NODE_NO_ORD_CHANGE)) {
383
384
 
384
385
                goto skip_secondaries;
385
386
        }
488
489
        dulint          roll_ptr;
489
490
        ulint           info_bits;
490
491
        ulint           type;
491
 
        ulint           cmpl_info;
492
492
 
493
493
        ut_ad(node && thr);
494
494
 
495
495
        trx = thr_get_trx(thr);
496
496
 
497
 
        ptr = trx_undo_rec_get_pars(node->undo_rec, &type, &cmpl_info,
498
 
                                    updated_extern, &undo_no, &table_id);
 
497
        ptr = trx_undo_rec_get_pars(
 
498
                node->undo_rec, &type, &node->cmpl_info,
 
499
                updated_extern, &undo_no, &table_id);
499
500
        node->rec_type = type;
500
501
 
501
502
        if (type == TRX_UNDO_UPD_DEL_REC && !(*updated_extern)) {
508
509
        node->table = NULL;
509
510
 
510
511
        if (type == TRX_UNDO_UPD_EXIST_REC
511
 
            && cmpl_info & UPD_NODE_NO_ORD_CHANGE && !(*updated_extern)) {
 
512
            && node->cmpl_info & UPD_NODE_NO_ORD_CHANGE
 
513
            && !(*updated_extern)) {
512
514
 
513
515
                /* Purge requires no changes to indexes: we may return */
514
516
 
563
565
 
564
566
        /* Read to the partial row the fields that occur in indexes */
565
567
 
566
 
        if (!(cmpl_info & UPD_NODE_NO_ORD_CHANGE)) {
 
568
        if (!(node->cmpl_info & UPD_NODE_NO_ORD_CHANGE)) {
567
569
                ptr = trx_undo_rec_get_partial_row(ptr, clust_index,
568
570
                                                   &(node->row), node->heap);
569
571
        }
667
669
 
668
670
        err = row_purge(node, thr);
669
671
 
670
 
        ut_ad(err == DB_SUCCESS);
 
672
        ut_a(err == DB_SUCCESS);
671
673
 
672
674
        return(thr);
673
675
}