Commit 609d7661 authored by guilhem@mysql.com's avatar guilhem@mysql.com

Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0

into mysql.com:/home/mysql_src/mysql-4.0
parents a83f8e60 0c4363b6
...@@ -1370,6 +1370,14 @@ bool MYSQL_LOG::write(THD *thd, IO_CACHE *cache, bool commit_or_rollback) ...@@ -1370,6 +1370,14 @@ bool MYSQL_LOG::write(THD *thd, IO_CACHE *cache, bool commit_or_rollback)
*/ */
{ {
Query_log_event qinfo(thd, "BEGIN", 5, TRUE); Query_log_event qinfo(thd, "BEGIN", 5, TRUE);
/*
Imagine this is rollback due to net timeout, after all statements of
the transaction succeeded. Then we want a zero-error code in BEGIN.
In other words, if there was a really serious error code it's already
in the statement's events.
This is safer than thd->clear_error() against kills at shutdown.
*/
qinfo.error_code= 0;
/* /*
Now this Query_log_event has artificial log_pos 0. It must be adjusted Now this Query_log_event has artificial log_pos 0. It must be adjusted
to reflect the real position in the log. Not doing it would confuse the to reflect the real position in the log. Not doing it would confuse the
...@@ -1403,6 +1411,7 @@ bool MYSQL_LOG::write(THD *thd, IO_CACHE *cache, bool commit_or_rollback) ...@@ -1403,6 +1411,7 @@ bool MYSQL_LOG::write(THD *thd, IO_CACHE *cache, bool commit_or_rollback)
commit_or_rollback ? "COMMIT" : "ROLLBACK", commit_or_rollback ? "COMMIT" : "ROLLBACK",
commit_or_rollback ? 6 : 8, commit_or_rollback ? 6 : 8,
TRUE); TRUE);
qinfo.error_code= 0;
qinfo.set_log_pos(this); qinfo.set_log_pos(this);
if (qinfo.write(&log_file) || flush_io_cache(&log_file)) if (qinfo.write(&log_file) || flush_io_cache(&log_file))
goto err; goto err;
......
...@@ -911,7 +911,6 @@ TABLE *create_table_from_items(THD *thd, HA_CREATE_INFO *create_info, ...@@ -911,7 +911,6 @@ TABLE *create_table_from_items(THD *thd, HA_CREATE_INFO *create_info,
} }
table->file->extra(HA_EXTRA_WRITE_CACHE); table->file->extra(HA_EXTRA_WRITE_CACHE);
DBUG_RETURN(table); DBUG_RETURN(table);
/* Note that leaving the function resets binlogging properties */
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment