~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/log_event.cc

  • Committer: Brian Aker
  • Date: 2008-12-08 20:19:05 UTC
  • Revision ID: brian@tangent.org-20081208201905-ud33hfoidmke55iv
Removd dead TRX binlog code (we log straight... no attempt to optimize for
rollback).

Show diffs side-by-side

added added

removed removed

Lines of Context:
4323
4323
        return(error);
4324
4324
      }
4325
4325
 
4326
 
      /*
4327
 
        So we need to reopen the tables.
4328
 
 
4329
 
        We need to flush the pending RBR event, since it keeps a
4330
 
        pointer to an open table.
4331
 
 
4332
 
        ALTERNATIVE SOLUTION (not implemented): Extract a pointer to
4333
 
        the pending RBR event and reset the table pointer after the
4334
 
        tables has been reopened.
4335
 
 
4336
 
        NOTE: For this new scheme there should be no pending event:
4337
 
        need to add code to assert that is the case.
4338
 
       */
4339
 
      session->binlog_flush_pending_rows_event(false);
4340
4326
      TableList *tables= rli->tables_to_lock;
4341
4327
      close_tables_for_reopen(session, &tables);
4342
4328
 
4645
4631
  if (get_flags(STMT_END_F))
4646
4632
  {
4647
4633
    /*
4648
 
      This is the end of a statement or transaction, so close (and
4649
 
      unlock) the tables we opened when processing the
4650
 
      Table_map_log_event starting the statement.
4651
 
 
4652
 
      OBSERVER.  This will clear *all* mappings, not only those that
4653
 
      are open for the table. There is not good handle for on-close
4654
 
      actions for tables.
4655
 
 
4656
 
      NOTE. Even if we have no table ('table' == 0) we still need to be
4657
 
      here, so that we increase the group relay log position. If we didn't, we
4658
 
      could have a group relay log position which lags behind "forever"
4659
 
      (assume the last master's transaction is ignored by the slave because of
4660
 
      replicate-ignore rules).
4661
 
    */
4662
 
    session->binlog_flush_pending_rows_event(true);
4663
 
 
4664
 
    /*
4665
4634
      If this event is not in a transaction, the call below will, if some
4666
4635
      transactional storage engines are involved, commit the statement into
4667
4636
      them and flush the pending event to binlog.