diff options
author | Georgi Kodinov <joro@sun.com> | 2009-10-16 13:29:42 +0300 |
---|---|---|
committer | Georgi Kodinov <joro@sun.com> | 2009-10-16 13:29:42 +0300 |
commit | 7b4ef910f7830e85e2bc240b0803b994d6e0446b (patch) | |
tree | 4a635fd50a6abdd9b0c814cb889d2996fc60eb3e /sql/slave.cc | |
parent | d7cc9194e0d657fb475cf14a3463a976d336b63a (diff) | |
download | mariadb-git-7b4ef910f7830e85e2bc240b0803b994d6e0446b.tar.gz |
Bug #40877: multi statement execution fails in 5.1.30
Implemented the server infrastructure for the fix:
1. Added a function LEX_STRING *thd_query_string(THD) to return
a LEX_STRING structure instead of char *.
This is the function that must be called in innodb instead of
thd_query()
2. Did some encapsulation in THD : aggregated thd_query and
thd_query_length into a LEX_STRING and made accessor and mutator
methods for easy code updating.
3. Updated the server code to use the new methods where applicable.
Diffstat (limited to 'sql/slave.cc')
-rw-r--r-- | sql/slave.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/slave.cc b/sql/slave.cc index 9718b54ea9e..f6660e5a5c8 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -1288,7 +1288,8 @@ static int create_table_from_dump(THD* thd, MYSQL *mysql, const char* db, thd->db = (char*)db; DBUG_ASSERT(thd->db != 0); thd->db_length= strlen(thd->db); - mysql_parse(thd, thd->query, packet_len, &found_semicolon); // run create table + /* run create table */ + mysql_parse(thd, thd->query(), packet_len, &found_semicolon); thd->db = save_db; // leave things the way the were before thd->db_length= save_db_length; thd->options = save_options; |