diff options
author | unknown <antony@ppcg5.local> | 2007-03-23 10:14:46 -0700 |
---|---|---|
committer | unknown <antony@ppcg5.local> | 2007-03-23 10:14:46 -0700 |
commit | eac12b6587c53d34f0241c404fb0ce8c5ee0da93 (patch) | |
tree | 384dc75bd4d0435e142953d66f1fb9c5824fd8e0 /mysys | |
parent | 1fc7f2117bddfcf91e1220f22714beb86d26c544 (diff) | |
download | mariadb-git-eac12b6587c53d34f0241c404fb0ce8c5ee0da93.tar.gz |
WL#2936
"Server variables for plugins"
Post review fixes.
client/mysql.cc:
wl2936 "Plugin server variables" post review fixes
compile fix. app_type is now a void* and it isn't actually used here.
include/my_getopt.h:
wl2936 "Plugin server variables" post review fixes
make app_type into a void*. This also required changes to
client/mysql.cc and storage/ndb/src/mgmsrv/InitConfigFileParser.cpp
in order to compile.
include/my_global.h:
wl2936 "Plugin server variables" post-review fixes
declare compile_time_assert() macro.
(provided by serg)
include/mysql/plugin.h:
wl2936 "Plugin server variables" post review fixes
Add comments
mysys/array.c:
wl2936 "Plugin server variables" post review fixes
mysys/typelib.c:
wl2936 "Plugin server variables" post review fixes
find_typeset() should not alter string
sql/set_var.cc:
wl2936 "Plugin server variables" post review fixes
remove unnecessary code.
sql/sql_class.cc:
wl2936 "Plugin server variables" post review fixes
explicitly declare export style for functions.
sql/sql_lex.cc:
wl2936 "Plugin server variables" post review fixes
enforce that lex::plugins_static_buffer is declared immediately after
lex::plugins.
sql/sql_plugin.cc:
wl2936 "Plugin Server variables" post review fixes
sys_var_pluginvar does not need st_plugin_int at construction.
remove debug code which was accidentially committed.
add comments.
fix mutex lock order.
sql/sql_plugin.h:
wl2936 "Plugin server variables" post review fixes
add comment and macro to compare plugin_refs
sql/table.cc:
wl2936 "plugin server variables" post review fixes
remove unneccessary unlock and variable.
add checks for legacy type validity
storage/ndb/src/mgmsrv/InitConfigFileParser.cpp:
wl2936 "plugin server variables" post review fixes
fix compile failure now that my_option::app_type is a void*
Diffstat (limited to 'mysys')
-rw-r--r-- | mysys/array.c | 3 | ||||
-rw-r--r-- | mysys/typelib.c | 17 |
2 files changed, 11 insertions, 9 deletions
diff --git a/mysys/array.c b/mysys/array.c index dd715452fec..a8c400f48cc 100644 --- a/mysys/array.c +++ b/mysys/array.c @@ -57,9 +57,10 @@ my_bool init_dynamic_array2(DYNAMIC_ARRAY *array, uint element_size, } if (!init_alloc) + { init_alloc=alloc_increment; - else init_buffer= 0; + } array->elements=0; array->max_element=init_alloc; array->alloc_increment=alloc_increment; diff --git a/mysys/typelib.c b/mysys/typelib.c index 5013423799c..8ed3f7c46e2 100644 --- a/mysys/typelib.c +++ b/mysys/typelib.c @@ -20,6 +20,8 @@ #include <m_ctype.h> +static const char field_separator=','; + /* Search after a string in a list of strings. Endspace in x is not compared. @@ -31,6 +33,7 @@ If & 1 accept only whole names If & 2 don't expand if half field If & 4 allow #number# as type + If & 8 use ',' as string terminator NOTES If part, uniq field is found and full_name == 0 then x is expanded @@ -60,16 +63,18 @@ int find_type(my_string x, TYPELIB *typelib, uint full_name) for (pos=0 ; (j=typelib->type_names[pos]) ; pos++) { for (i=x ; - *i && my_toupper(&my_charset_latin1,*i) == + *i && (!(full_name & 8) || *i != field_separator) && + my_toupper(&my_charset_latin1,*i) == my_toupper(&my_charset_latin1,*j) ; i++, j++) ; if (! *j) { while (*i == ' ') i++; /* skip_end_space */ - if (! *i) + if (! *i || ((full_name & 8) && *i == field_separator)) DBUG_RETURN(pos+1); } - if (! *i && (!*j || !(full_name & 1))) + if ((!*i && (!(full_name & 8) || *i != field_separator)) && + (!*j || !(full_name & 1))) { find++; findpos=pos; @@ -120,8 +125,6 @@ const char *get_type(TYPELIB *typelib, uint nr) } -static const char field_separator=','; - /* Create an integer value to represent the supplied comma-seperated string where each string in the TYPELIB denotes a bit position. @@ -157,9 +160,7 @@ my_ulonglong find_typeset(my_string x, TYPELIB *lib, int *err) (*err)++; i= x; while (*x && *x != field_separator) x++; - if (*x) - *x++= 0; - if ((find= find_type(i, lib, 2) - 1) < 0) + if ((find= find_type(i, lib, 2 | 8) - 1) < 0) DBUG_RETURN(0); result|= (ULL(1) << find); } |