1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-24 11:21:21 +03:00

[PATCH] BUG#27404 util thd mysql_parse sig11 when mysqld default multibyte charset

NDB util thread calls mysql_parse internally with plain old c strings (7bit ascii) to create tables (e.g. mysql.ndb_schema). With mysqld default charset set to a multibyte one (e.g. ucs2) mysql_parse would try to interpret the 7bit string as UCS2 and promptly explode in a heap.

Solution is to set the util thread to be using utf8 charset.

Index: ndb-work/sql/ha_ndbcluster.cc
===================================================================
This commit is contained in:
stewart@flamingspork.com[stewart]
2007-06-30 18:02:38 +10:00
parent ba5b1f9cd6
commit 77e9eb56fc

View File

@@ -8947,6 +8947,14 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
thd->main_security_ctx.priv_user = 0;
thd->current_stmt_binlog_row_based= TRUE; // If in mixed mode
CHARSET_INFO *charset_connection;
charset_connection= get_charset_by_csname("utf8",
MY_CS_PRIMARY, MYF(MY_WME));
thd->variables.character_set_client= charset_connection;
thd->variables.character_set_results= charset_connection;
thd->variables.collation_connection= charset_connection;
thd->update_charset();
/* Signal successful initialization */
ndb_util_thread_running= 1;
pthread_cond_signal(&COND_ndb_util_ready);