diff options
Diffstat (limited to 'sql/mysql_priv.h')
-rw-r--r-- | sql/mysql_priv.h | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index a50053f4257..128117e836d 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -144,6 +144,14 @@ enum Derivation }; +typedef struct my_locale_errmsgs +{ + const char *language; + const char **errmsgs; +} MY_LOCALE_ERRMSGS; + +extern char err_shared_dir[]; + typedef struct my_locale_st { uint number; @@ -159,6 +167,7 @@ typedef struct my_locale_st uint decimal_point; uint thousand_sep; const char *grouping; + MY_LOCALE_ERRMSGS *errmsgs; #ifdef __cplusplus my_locale_st(uint number_par, const char *name_par, const char *descr_par, bool is_ascii_par, @@ -166,7 +175,7 @@ typedef struct my_locale_st TYPELIB *day_names_par, TYPELIB *ab_day_names_par, uint max_month_name_length_par, uint max_day_name_length_par, uint decimal_point_par, uint thousand_sep_par, - const char *grouping_par) : + const char *grouping_par, MY_LOCALE_ERRMSGS *errmsgs_par) : number(number_par), name(name_par), description(descr_par), is_ascii(is_ascii_par), month_names(month_names_par), ab_month_names(ab_month_names_par), @@ -175,18 +184,22 @@ typedef struct my_locale_st max_day_name_length(max_day_name_length_par), decimal_point(decimal_point_par), thousand_sep(thousand_sep_par), - grouping(grouping_par) + grouping(grouping_par), + errmsgs(errmsgs_par) {} #endif } MY_LOCALE; extern MY_LOCALE my_locale_en_US; extern MY_LOCALE *my_locales[]; +extern MY_LOCALE *my_default_lc_messages; extern MY_LOCALE *my_default_lc_time_names; MY_LOCALE *my_locale_by_name(const char *name); MY_LOCALE *my_locale_by_number(uint number); +void cleanup_errmsgs(void); + /*************************************************************************/ /** @@ -1841,6 +1854,8 @@ extern "C" int key_rec_cmp(void *key_info, uchar *a, uchar *b); bool init_errmessage(void); #endif /* MYSQL_SERVER */ void sql_perror(const char *message); +bool read_texts(const char *file_name, const char *language, + const char ***point, uint error_messages); bool fn_format_relative_to_data_home(char * to, const char *name, const char *dir, const char *extension); @@ -1933,7 +1948,7 @@ extern Gt_creator gt_creator; extern Lt_creator lt_creator; extern Ge_creator ge_creator; extern Le_creator le_creator; -extern char language[FN_REFLEN]; +extern char lc_messages_dir[FN_REFLEN]; #endif /* MYSQL_SERVER */ #if defined MYSQL_SERVER || defined INNODB_COMPATIBILITY_HOOKS extern MYSQL_PLUGIN_IMPORT char reg_ext[FN_EXTLEN]; @@ -2045,7 +2060,7 @@ extern pthread_mutex_t LOCK_mysql_create_db,LOCK_Acl,LOCK_open, LOCK_lock_db, LOCK_delayed_status, LOCK_delayed_create, LOCK_crypt, LOCK_timezone, LOCK_slave_list, LOCK_active_mi, LOCK_manager, LOCK_global_read_lock, LOCK_global_system_variables, LOCK_user_conn, - LOCK_prepared_stmt_count, + LOCK_prepared_stmt_count, LOCK_error_messages, LOCK_bytes_sent, LOCK_bytes_received, LOCK_connection_count; extern MYSQL_PLUGIN_IMPORT pthread_mutex_t LOCK_thread_count; #ifdef HAVE_OPENSSL |