2746 Kristofer Pettersson 2008-08-06 [merge]
Auto merge
modified:
client/Makefile.am
sql/share/errmsg.txt
sql/sql_acl.cc
sql/sql_parse.cc
2745 Davi Arnaut 2008-08-05
Bug#33053: mysql_upgrade: Does not convert all mysql db tables from utf8mb3 to utf8
Bug#33002: Event Scheduler: Unnecessarily disabled after 5.1 -> 6.0.4 upgrade
The 3-byte Unicode character set formerly known as utf8 is
now known in 6.0 as utf8mb3 and this cause problems if system
tables created in older versions of MySQL are used as the code
that check table compatibility won't accept a different charset
and this was happening for the event table that wasn't being
properly upgraded.
The solution is to ensure that all system tables are upgraded
to use the new utf8 character set rather than the old utf8mb3.
In the future it would be nice if the server could be capable of
handling the character set mishap, but for now we just upgrade
the table as the event subsystem is the only one that checks
if a table is compatible.
modified:
scripts/mysql_system_tables_fix.sql
=== modified file 'client/Makefile.am'
--- a/client/Makefile.am 2008-06-20 11:40:01 +0000
+++ b/client/Makefile.am 2008-08-06 14:39:03 +0000
@@ -88,11 +88,12 @@ mysqlslap_LDADD = $(CXXLDFLAGS) $(CLIEN
mysqltest_SOURCES= mysqltest.c
mysqltest_CFLAGS= -DTHREAD -UUNDEF_THREADS_HACK
-mysqltest_LDADD = $(CXXLDFLAGS) $(CLIENT_THREAD_LIBS) \
+mysqltest_LDADD = $(CXXLDFLAGS) \
@CLIENT_EXTRA_LDFLAGS@ \
$(LIBMYSQLCLIENT_LA) \
$(top_builddir)/mysys/libmysys.a \
- $(top_builddir)/regex/libregex.a
+ $(top_builddir)/regex/libregex.a \
+ $(CLIENT_THREAD_LIBS)
mysql_upgrade_SOURCES= mysql_upgrade.c \
$(top_srcdir)/mysys/my_getpagesize.c
=== modified file 'sql/share/errmsg.txt'
--- a/sql/share/errmsg.txt 2008-07-18 13:30:53 +0000
+++ b/sql/share/errmsg.txt 2008-08-06 14:39:03 +0000
@@ -4718,7 +4718,7 @@ ER_SLAVE_IGNORED_TABLE
swe "Slav SQL tr�den ignorerade fr_LOCAL_VAR
eng "Variable '%-.192s' is a %s variable"
- serbian "Incorrect foreign key definition for '%-.192s': %s"
+ serbian "Promenljiva '%-.192s' je %s promenljiva"
ger "Variable '%-.192s' ist eine %s-Variable"
nla "Variabele '%-.192s' is geen %s variabele"
spa "Variable '%-.192s' es una %s variable"
=== modified file 'sql/sql_acl.cc'
--- a/sql/sql_acl.cc 2008-07-17 19:55:18 +0000
+++ b/sql/sql_acl.cc 2008-08-06 14:39:03 +0000
@@ -5811,7 +5811,6 @@ bool mysql_drop_user(THD *thd, List <LEX
while ((tmp_user_name= user_list++))
{
- user_name= get_current_user(thd, tmp_user_name);
if (!(user_name= get_current_user(thd, tmp_user_name)))
{
result= TRUE;
=== modified file 'sql/sql_parse.cc'
--- a/sql/sql_parse.cc 2008-07-28 17:31:04 +0000
+++ b/sql/sql_parse.cc 2008-08-06 14:39:03 +0000
@@ -6645,15 +6645,24 @@ bool reload_acl_and_cache(THD *thd, ulon
thd->store_globals();
lex_start(thd);
}
+
if (thd)
{
- if (acl_reload(thd))
- result= 1;
- if (grant_reload(thd))
+ bool reload_acl_failed= acl_reload(thd);
+ bool reload_grants_failed= grant_reload(thd);
+ bool reload_servers_failed= servers_reload(thd);
+
+ if (reload_acl_failed || reload_grants_failed || reload_servers_failed)
+ {
result= 1;
- if (servers_reload(thd))
- result= 1; /* purecov: inspected */
+ /*
+ When an error is returned, my_message may have not been called and
+ the client will hang waiting for a response.
+ */
+ my_error(ER_UNKNOWN_ERROR, MYF(0), "FLUSH PRIVILEGES failed");
+ }
}
+
if (tmp_thd)
{
delete tmp_thd;
@@ -6734,8 +6743,10 @@ bool reload_acl_and_cache(THD *thd, ulon
tmp_write_to_binlog= 0;
if (lock_global_read_lock(thd))
return 1; // Killed
- result= close_cached_tables(thd, tables, FALSE, (options & REFRESH_FAST) ?
- FALSE : TRUE);
+ if (close_cached_tables(thd, tables, FALSE, (options & REFRESH_FAST) ?
+ FALSE : TRUE))
+ result= 1;
+
if (make_global_read_lock_block_commit(thd)) // Killed
{
/* Don't leave things in a half-locked state */
@@ -6797,8 +6808,8 @@ bool reload_acl_and_cache(THD *thd, ulon
#ifdef OPENSSL
if (options & REFRESH_DES_KEY_FILE)
{
- if (des_key_file)
- result=load_des_key_file(des_key_file);
+ if (des_key_file && load_des_key_file(des_key_file))
+ result= 1;
}
#endif
#ifdef HAVE_REPLICATION
| Thread |
|---|
| • bzr push into mysql-6.0-bugteam branch (kpettersson:2745 to 2746) Bug#33002,Bug#33053 | Kristofer Pettersson | 6 Aug |