diff options
author | unknown <monty@hundin.mysql.fi> | 2002-08-13 02:18:39 +0300 |
---|---|---|
committer | unknown <monty@hundin.mysql.fi> | 2002-08-13 02:18:39 +0300 |
commit | 51156c5af2a8a3a978085a7c54de0ad55f73775c (patch) | |
tree | 05ad0900ffa45f9028b912889f27021e3e9cb962 /sql/set_var.h | |
parent | 689a43874659ca5714edcd5effd3dcef2e3930cb (diff) | |
download | mariadb-git-51156c5af2a8a3a978085a7c54de0ad55f73775c.tar.gz |
Changed SQL variable delay_key_write to an enum
able delay_key_write as default (as it was in 4.0.2)
Docs/manual.texi:
Updated information about variable DELAY_KEY_WRITE.
mysql-test/r/type_decimal.result:
Updated results
mysql-test/r/variables.result:
Updated results
mysql-test/t/type_decimal.test:
Fixed test to not cause purify error in mathlib during purify.
mysql-test/t/variables.test:
Test new usage of DELAY_KEY_WRITE
sql/ha_innodb.cc:
Merge with 3.23 code
sql/mysql_priv.h:
Changed SQL variable delay_key_write to an enum
sql/mysqld.cc:
Changed SQL variable delay_key_write to an enum.
Enable delay_key_write as default (as it was in 4.0.2)
sql/set_var.cc:
Changed SQL variable delay_key_write to an enum
sql/set_var.h:
Changed SQL variable delay_key_write to an enum
sql/sql_class.h:
Changed SQL variable delay_key_write to an enum
sql/sql_yacc.yy:
Changed SQL variable delay_key_write to an enum
Diffstat (limited to 'sql/set_var.h')
-rw-r--r-- | sql/set_var.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/sql/set_var.h b/sql/set_var.h index 46463089b03..cbe479b7902 100644 --- a/sql/set_var.h +++ b/sql/set_var.h @@ -28,7 +28,7 @@ class sys_var; class set_var; typedef struct system_variables SV; -extern TYPELIB bool_typelib; +extern TYPELIB bool_typelib, delay_key_write_typelib; enum enum_var_type { @@ -140,6 +140,26 @@ public: }; +class sys_var_enum :public sys_var +{ + uint *value; + TYPELIB *enum_names; +public: + sys_var_enum(const char *name_arg, uint *value_arg, + TYPELIB *typelib, sys_after_update_func func) + :sys_var(name_arg,func), value(value_arg), enum_names(typelib) + {} + bool check(THD *thd, set_var *var) + { + return check_enum(thd, var, enum_names); + } + bool update(THD *thd, set_var *var); + SHOW_TYPE type() { return SHOW_CHAR; } + byte *value_ptr(THD *thd, enum_var_type type); + bool check_update_type(Item_result type) { return 0; } +}; + + class sys_var_thd :public sys_var { public: @@ -415,5 +435,6 @@ void set_var_init(); void set_var_free(); sys_var *find_sys_var(const char *str, uint length=0); bool sql_set_variables(THD *thd, List<set_var_base> *var_list); +void fix_delay_key_write(THD *thd, enum_var_type type); extern sys_var_str sys_charset; |