diff options
author | Guilhem Bichot <guilhem@mysql.com> | 2009-04-01 11:34:52 +0200 |
---|---|---|
committer | Guilhem Bichot <guilhem@mysql.com> | 2009-04-01 11:34:52 +0200 |
commit | c71aae73f6f864c97cf17b3e872346666b871c3f (patch) | |
tree | 4895816aee1a0fcef08daa0f68bf1b1fe9aa2b5a /sql/sql_class.cc | |
parent | 3c59ba32ab9cca29e01bd8dd2130af83ead8bde0 (diff) | |
parent | 7ca1ebd83a1a7d291593be7a94f5a37298dfc863 (diff) | |
download | mariadb-git-c71aae73f6f864c97cf17b3e872346666b871c3f.tar.gz |
merge of 5.1-main into 5.1-maria. MyISAM changes are propagated to Maria except
those of davi.arnaut@sun.com-20090219210935-9vilvcisyyieffxl (TODO).
Diffstat (limited to 'sql/sql_class.cc')
-rw-r--r-- | sql/sql_class.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 125a4ceea2f..cbb1861fe71 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -543,6 +543,7 @@ THD::THD() Open_tables_state(refresh_version), rli_fake(0), lock_id(&main_lock_id), user_time(0), in_sub_stmt(0), + sql_log_bin_toplevel(false), binlog_table_maps(0), binlog_flags(0UL), table_map_for_update(0), arg_of_last_insert_id_function(FALSE), @@ -796,6 +797,7 @@ void THD::init(void) update_charset(); reset_current_stmt_binlog_row_based(); bzero((char *) &status_var, sizeof(status_var)); + sql_log_bin_toplevel= options & OPTION_BIN_LOG; } @@ -1640,6 +1642,11 @@ bool select_send::send_data(List<Item> &items) my_message(ER_OUT_OF_RESOURCES, ER(ER_OUT_OF_RESOURCES), MYF(0)); break; } + /* + Reset buffer to its original state, as it may have been altered in + Item::send(). + */ + buffer.set(buff, sizeof(buff), &my_charset_bin); } thd->sent_row_count++; if (thd->is_error()) @@ -3646,7 +3653,7 @@ int THD::binlog_query(THD::enum_binlog_query_type qtype, char const *query_arg, If we are in statement mode and trying to log an unsafe statement, we should print a warning. */ - if (lex->is_stmt_unsafe() && + if (sql_log_bin_toplevel && lex->is_stmt_unsafe() && variables.binlog_format == BINLOG_FORMAT_STMT) { push_warning(this, MYSQL_ERROR::WARN_LEVEL_WARN, |