diff options
author | unknown <lars/lthalmann@mysql.com/dl145h.mysql.com> | 2006-11-07 12:02:53 +0100 |
---|---|---|
committer | unknown <lars/lthalmann@mysql.com/dl145h.mysql.com> | 2006-11-07 12:02:53 +0100 |
commit | c6de4d1c3baa5a27dd6f4ba2dd58c85e627b6536 (patch) | |
tree | 214efbfcc03cc6ef5dd9efc1421eda2a2bdd3e4f /sql/sql_parse.cc | |
parent | 024a1781a6310383c1e352d483e7a701d564d051 (diff) | |
parent | fff7e9199d9f0c150d35b54c3b81dfc9ec0b75c0 (diff) | |
download | mariadb-git-c6de4d1c3baa5a27dd6f4ba2dd58c85e627b6536.tar.gz |
Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0-rpl
into mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge
BitKeeper/etc/collapsed:
auto-union
mysql-test/r/ctype_utf8.result:
Auto merged
sql/field.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
Diffstat (limited to 'sql/sql_parse.cc')
-rw-r--r-- | sql/sql_parse.cc | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 3a107c2296c..e3ee9f340cf 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -2503,7 +2503,23 @@ mysql_execute_command(THD *thd) { /* we warn the slave SQL thread */ my_message(ER_SLAVE_IGNORED_TABLE, ER(ER_SLAVE_IGNORED_TABLE), MYF(0)); - reset_one_shot_variables(thd); + if (thd->one_shot_set) + { + /* + It's ok to check thd->one_shot_set here: + + The charsets in a MySQL 5.0 slave can change by both a binlogged + SET ONE_SHOT statement and the event-internal charset setting, + and these two ways to change charsets do not seems to work + together. + + At least there seems to be problems in the rli cache for + charsets if we are using ONE_SHOT. Note that this is normally no + problem because either the >= 5.0 slave reads a 4.1 binlog (with + ONE_SHOT) *or* or 5.0 binlog (without ONE_SHOT) but never both." + */ + reset_one_shot_variables(thd); + } DBUG_RETURN(0); } } @@ -6121,7 +6137,7 @@ TABLE_LIST *st_select_lex::add_table_to_list(THD *thd, ptr->alias= alias_str; if (lower_case_table_names && table->table.length) - my_casedn_str(files_charset_info, table->table.str); + table->table.length= my_casedn_str(files_charset_info, table->table.str); ptr->table_name=table->table.str; ptr->table_name_length=table->table.length; ptr->lock_type= lock_type; |