diff options
author | unknown <bar@bar.mysql.r18.ru> | 2003-05-30 13:03:56 +0500 |
---|---|---|
committer | unknown <bar@bar.mysql.r18.ru> | 2003-05-30 13:03:56 +0500 |
commit | f46e958e1e0a6ca13bb94dea7064b338c5474a8d (patch) | |
tree | 7682d84ae2c4a6586327f259fdad9663290deb15 /sql/set_var.h | |
parent | 69e084af1eedff2dda70fcf073dd4fa349718b69 (diff) | |
download | mariadb-git-f46e958e1e0a6ca13bb94dea7064b338c5474a8d.tar.gz |
character_set_server is now updatable
character_set_database was added
Code optimization: reuse more code for all character sets variables
sql/mysqld.cc:
character_set_server is now updatable
character_set_database was added
sql/set_var.cc:
character_set_server is now updatable
character_set_database was added
sql/set_var.h:
character_set_server is now updatable
character_set_database was added
sql/sql_base.cc:
character_set_server is now updatable
character_set_database was added
sql/sql_class.cc:
character_set_server is now updatable
character_set_database was added
sql/sql_class.h:
character_set_server is now updatable
character_set_database was added
sql/sql_db.cc:
character_set_server is now updatable
character_set_database was added
sql/sql_load.cc:
character_set_server is now updatable
character_set_database was added
sql/sql_table.cc:
character_set_server is now updatable
character_set_database was added
sql/sql_yacc.yy:
character_set_server is now updatable
character_set_database was added
BitKeeper/etc/ignore:
Added scripts/mysql_create_system_tables to the ignore list
Diffstat (limited to 'sql/set_var.h')
-rw-r--r-- | sql/set_var.h | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/sql/set_var.h b/sql/set_var.h index f501426e553..7c1a9bc3233 100644 --- a/sql/set_var.h +++ b/sql/set_var.h @@ -441,7 +441,10 @@ SHOW_TYPE type() { return SHOW_CHAR; } return type != STRING_RESULT; /* Only accept strings */ } bool check_default(enum_var_type type) { return 0; } + bool update(THD *thd, set_var *var); + byte *value_ptr(THD *thd, enum_var_type type); virtual void set_default(THD *thd, enum_var_type type)= 0; + virtual CHARSET_INFO **ci_ptr(THD *thd, enum_var_type type)= 0; }; class sys_var_character_set_client :public sys_var_character_set @@ -449,9 +452,8 @@ class sys_var_character_set_client :public sys_var_character_set public: sys_var_character_set_client(const char *name_arg) : sys_var_character_set(name_arg) {} - bool update(THD *thd, set_var *var); void set_default(THD *thd, enum_var_type type); - byte *value_ptr(THD *thd, enum_var_type type); + CHARSET_INFO **ci_ptr(THD *thd, enum_var_type type); }; class sys_var_character_set_results :public sys_var_character_set @@ -459,9 +461,26 @@ class sys_var_character_set_results :public sys_var_character_set public: sys_var_character_set_results(const char *name_arg) : sys_var_character_set(name_arg) {} - bool update(THD *thd, set_var *var); void set_default(THD *thd, enum_var_type type); - byte *value_ptr(THD *thd, enum_var_type type); + CHARSET_INFO **ci_ptr(THD *thd, enum_var_type type); +}; + +class sys_var_character_set_server :public sys_var_character_set +{ +public: + sys_var_character_set_server(const char *name_arg) : + sys_var_character_set(name_arg) {} + void set_default(THD *thd, enum_var_type type); + CHARSET_INFO **ci_ptr(THD *thd, enum_var_type type); +}; + +class sys_var_character_set_database :public sys_var_character_set +{ +public: + sys_var_character_set_database(const char *name_arg) : + sys_var_character_set(name_arg) {} + void set_default(THD *thd, enum_var_type type); + CHARSET_INFO **ci_ptr(THD *thd, enum_var_type type); }; class sys_var_collation_connection :public sys_var_collation @@ -606,6 +625,5 @@ sys_var *find_sys_var(const char *str, uint length=0); int 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; extern sys_var_str sys_charset_system; CHARSET_INFO *get_old_charset_by_name(const char *old_name); |