Commit 0fc34660 authored by unknown's avatar unknown
Browse files

Merge bk-internal:/home/bk/mysql-5.0

into serg.mylan:/usr/home/serg/Abk/mysql-5.0


sql/handler.cc:
  Auto merged
sql/log.cc:
  Auto merged
parents b526f434 2d044701
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -476,6 +476,9 @@ void ha_close_connection(THD* thd)
void trans_register_ha(THD *thd, bool all, handlerton *ht_arg)
{
  THD_TRANS *trans;
  DBUG_ENTER("trans_register_ha");
  DBUG_PRINT("enter",("%s", all ? "all" : "stmt"));

  if (all)
  {
    trans= &thd->transaction.all;
@@ -496,6 +499,7 @@ void trans_register_ha(THD *thd, bool all, handlerton *ht_arg)
  trans->no_2pc|=(ht_arg->prepare==0);
  if (thd->transaction.xid.is_null())
    thd->transaction.xid.set(thd->query_id);
  DBUG_VOID_RETURN;
}

/*
@@ -514,7 +518,7 @@ int ha_prepare(THD *thd)
  if (trans->nht)
  {
    if (trans->no_2pc)
      return -1;
      DBUG_RETURN(-1);
    for (; *ht; ht++)
    {
      int err;
+1 −1
Original line number Diff line number Diff line
@@ -97,7 +97,7 @@
  Note: the following includes binlog and closing 0.
  so: innodb+bdb+ndb+binlog+0
*/
#define MAX_HA 5
#define MAX_HA 6

/*
  Bits in index_ddl_flags(KEY *wanted_index)
+4 −3
Original line number Diff line number Diff line
@@ -129,11 +129,12 @@ static int binlog_rollback(THD *thd, bool all)
  IO_CACHE *trans_log= (IO_CACHE*)thd->ha_data[binlog_hton.slot];
  DBUG_ENTER("binlog_rollback");
  /*
    first two conditions here are guaranteed - see trans_register_ha()
    call below. The third one must be true. If it is not, we're registering
    First assert is guaranteed - see trans_register_ha() call below.
    The second must be true. If it is not, we're registering
    unnecessary, doing extra work. The cause should be found and eliminated
  */
  DBUG_ASSERT(all && mysql_bin_log.is_open() && my_b_tell(trans_log));
  DBUG_ASSERT(all || !(thd->options & (OPTION_NOT_AUTOCOMMIT | OPTION_BEGIN)));
  DBUG_ASSERT(mysql_bin_log.is_open() && my_b_tell(trans_log));
  /*
     Update the binary log with a BEGIN/ROLLBACK block if we have
     cached some queries and we updated some non-transactional