summaryrefslogtreecommitdiff
path: root/sql/create_options.h
diff options
context:
space:
mode:
authorSergey Vojtovich <svoj@mariadb.org>2013-07-26 23:02:48 +0400
committerSergey Vojtovich <svoj@mariadb.org>2013-07-26 23:02:48 +0400
commitb3a1f420439a1b7b8a151ca04d5c5e136c589006 (patch)
tree34a937f50ed6a0e380de767723dd8270ee178c12 /sql/create_options.h
parent62feb0c5aea9deed8da70774e0674fb459a84e34 (diff)
downloadmariadb-git-b3a1f420439a1b7b8a151ca04d5c5e136c589006.tar.gz
MDEV-4786 - merge 10.0-monty - 10.0
Fixed connect.grant failure. sql/create_options.cc: Keep "first" list intact, allocate new list for merge result. Normally "first" is options list on TABLE_SHARE. ALTER TABLE may fail after the merge and leave share with corrupt list in the table definition cache. sql/create_options.h: Construct engine_option_value from another engine_option_value.
Diffstat (limited to 'sql/create_options.h')
-rw-r--r--sql/create_options.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/sql/create_options.h b/sql/create_options.h
index ea05bf75fac..c7fac8b37fd 100644
--- a/sql/create_options.h
+++ b/sql/create_options.h
@@ -34,6 +34,13 @@ class engine_option_value: public Sql_alloc
bool parsed; ///< to detect unrecognized options
bool quoted_value; ///< option=VAL vs. option='VAL'
+ engine_option_value(engine_option_value *src,
+ engine_option_value **start, engine_option_value **end) :
+ name(src->name), value(src->value),
+ next(NULL), parsed(src->parsed), quoted_value(src->quoted_value)
+ {
+ link(start, end);
+ }
engine_option_value(LEX_STRING &name_arg, LEX_STRING &value_arg, bool quoted,
engine_option_value **start, engine_option_value **end) :
name(name_arg), value(value_arg),