summaryrefslogtreecommitdiff
path: root/sql/sql_class.h
diff options
context:
space:
mode:
authorGeorgi Kodinov <joro@sun.com>2009-10-16 13:29:42 +0300
committerGeorgi Kodinov <joro@sun.com>2009-10-16 13:29:42 +0300
commit7b4ef910f7830e85e2bc240b0803b994d6e0446b (patch)
tree4a635fd50a6abdd9b0c814cb889d2996fc60eb3e /sql/sql_class.h
parentd7cc9194e0d657fb475cf14a3463a976d336b63a (diff)
downloadmariadb-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/sql_class.h')
-rw-r--r--sql/sql_class.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/sql/sql_class.h b/sql/sql_class.h
index 922e960c805..865fc834c68 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -642,10 +642,13 @@ public:
This printing is needed at least in SHOW PROCESSLIST and SHOW
ENGINE INNODB STATUS.
*/
- char *query;
- uint32 query_length; // current query length
+ LEX_STRING query_string;
Server_side_cursor *cursor;
+ inline char *query() { return query_string.str; }
+ inline uint32 query_length() { return query_string.length; }
+ void set_query_inner(char *query_arg, uint32 query_length_arg);
+
/**
Name of the current (default) database.