Loading sql/handler.cc +5 −1 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; } /* Loading @@ -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; Loading sql/handler.h +1 −1 Original line number Diff line number Diff line Loading @@ -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) Loading sql/log.cc +4 −3 Original line number Diff line number Diff line Loading @@ -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 Loading Loading
sql/handler.cc +5 −1 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; } /* Loading @@ -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; Loading
sql/handler.h +1 −1 Original line number Diff line number Diff line Loading @@ -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) Loading
sql/log.cc +4 −3 Original line number Diff line number Diff line Loading @@ -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 Loading