25 #ifndef _LANGUAGE_SUPPORT_H_ 26 #define _LANGUAGE_SUPPORT_H_ 38 #define LANG_NAME_KOREAN "ko_KR" 39 #define LANG_NAME_ENGLISH "en_US" 40 #define LANG_NAME_TURKISH "tr_TR" 41 #define LANG_CHARSET_UTF8 "utf8" 42 #define LANG_CHARSET_UTF8_ALIAS1 "utf-8" 43 #define LANG_CHARSET_EUCKR "euckr" 44 #define LANG_CHARSET_EUCKR_ALIAS1 "euc-kr" 45 #define LANG_CHARSET_ISO88591 "iso88591" 46 #define LANG_CHARSET_ISO88591_ALIAS1 "iso-88591" 47 #define LANG_CHARSET_ISO88591_ALIAS2 "iso-8859-1" 48 #define LANG_NAME_DEFAULT LANG_NAME_ENGLISH 49 #define LANG_CHARSET_DEFAULT LANG_NAME_ENGLISH "." LANG_CHARSET_ISO88591 51 #define LANG_MAX_COLLATIONS 256 52 #define LANG_MAX_BUILTIN_COLLATIONS 32 53 #define LANG_MAX_LOADED_LOCALES 32 55 #define LANG_COERCIBLE_COLL LANG_SYS_COLLATION 56 #define LANG_COERCIBLE_CODESET LANG_SYS_CODESET 58 #define LANG_IS_COERCIBLE_COLL(c) \ 59 ((c) == LANG_COLL_ISO_BINARY || (c) == LANG_COLL_UTF8_BINARY \ 60 || (c) == LANG_COLL_EUCKR_BINARY) 63 #define LANG_RT_COMMON_COLL(c1, c2, coll) \ 70 else if (LANG_IS_COERCIBLE_COLL (c1)) \ 72 if (!LANG_IS_COERCIBLE_COLL (c2)) \ 78 if ((c2) == LANG_COLL_ISO_BINARY) \ 84 else if (LANG_IS_COERCIBLE_COLL (c2)) \ 94 #define LANG_ERR_NO_CUBRID "The `%s' environment variable is not set.\n" 96 #define LANG_MAX_LANGNAME 256 98 #define LANG_VARIABLE_CHARSET(x) ((x) != INTL_CODESET_ASCII && \ 99 (x) != INTL_CODESET_RAW_BITS && \ 100 (x) != INTL_CODESET_RAW_BYTES && \ 101 (x) != INTL_CODESET_ISO88591) 119 #define LANG_GET_BINARY_COLLATION(c) (((c) == INTL_CODESET_UTF8) \ 120 ? LANG_COLL_UTF8_BINARY : \ 121 (((c) == INTL_CODESET_KSC5601_EUC) ? LANG_COLL_EUCKR_BINARY : \ 122 (((c) == INTL_CODESET_ISO88591) ? LANG_COLL_ISO_BINARY : \ 169 int (*fastcmp) (
const LANG_COLLATION * lang_coll,
const unsigned char *string1,
const int size1,
170 const unsigned char *string2,
const int size2,
bool ignore_trailing_space);
171 int (*strmatch) (
const LANG_COLLATION * lang_coll,
bool is_match,
const unsigned char *string1,
int size1,
172 const unsigned char *string2,
int size2,
const unsigned char *escape,
const bool has_last_escape,
173 int *str1_match_size,
bool ignore_trailing_space);
175 int (*next_coll_seq) (
const LANG_COLLATION * lang_coll,
const unsigned char *seq,
const int size,
176 unsigned char *next_seq,
int *len_next,
bool ignore_trailing_space);
178 int (*split_key) (
const LANG_COLLATION * lang_coll,
const bool is_desc,
const unsigned char *str1,
const int size1,
179 const unsigned char *str2,
const int size2,
const unsigned char **key,
int *byte_size,
180 bool ignore_trailing_space);
182 unsigned int (*mht2str) (
const LANG_COLLATION * lang_coll,
const unsigned char *str,
const int size);
243 char checksum[32 + 1];
251 char checksum[32 + 1];
256 #define LANG_GET_COLLATION(i) lang_Collations[i] 258 #define LANG_GET_COLLATION(i) lang_get_collation(i) 262 #define LANG_SYS_COLLATION (LANG_GET_BINARY_COLLATION(lang_Loc_charset)) 263 #define LANG_SYS_CODESET lang_Loc_charset 265 #define LANG_SYS_COLLATION (LANG_GET_BINARY_COLLATION(lang_charset())) 266 #define LANG_SYS_CODESET lang_charset() 290 #if defined(ENABLE_UNUSED_FUNCTION) 291 extern int lang_char_mem_size (
const char *
p);
292 extern int lang_char_screen_size (
const char *p);
293 extern int lang_wchar_mem_size (
const wchar_t * p);
294 extern int lang_wchar_screen_size (
const wchar_t * p);
321 const int size1,
const unsigned char *str2,
const int size2,
322 const unsigned char *escape,
const bool has_last_escape,
323 int *str1_match_size,
bool ignore_trailing_space);
325 #if !defined (SERVER_MODE) 338 bool is_load_for_dump);
347 const char *server_text);
349 const char *server_text);
const char * month_short_parse_order
#define LANG_MAX_COLLATIONS
const char * charset_cubrid_name
INTL_CODESET lang_charset_cubrid_name_to_id(const char *name)
int lang_collation_count(void)
const LANG_LOCALE_DATA * lang_locale(void)
void lang_init_builtin(void)
const char * lang_charset_name(const INTL_CODESET codeset)
void lang_init_console_txt_conv(void)
bool lang_is_coll_name_allowed(const char *name)
int lang_get_charset_env_string(char *buf, int buf_size, const char *lang_name, const INTL_CODESET charset)
const ALPHABET_DATA * lang_user_alphabet_w_coll(const int collation_id)
int lang_set_charset(const INTL_CODESET codeset)
INTL_CODESET lang_get_client_charset(void)
const char * lang_currency_symbol(DB_CURRENCY curr)
const char * lang_get_msg_Loc_name(void)
const char * datetime_format
int lang_check_coll_compat(const LANG_COLL_COMPAT *coll_array, const int coll_cnt, const char *client_text, const char *server_text)
int lang_load_count_coll_from_lib(int *count_coll, void *lib_handle, const LOCALE_FILE *lf)
bool lang_get_parser_use_client_charset(void)
const char * timestamptz_format
LANG_LOCALE_DATA * next_lld
const char * charset_name
int lang_get_client_collation(void)
const LANG_LOCALE_DATA * lang_get_specific_locale(const INTL_LANG lang, const INTL_CODESET codeset)
ALPHABET_DATA ident_alphabet
const char * lang_charset_cubrid_name(const INTL_CODESET codeset)
int lang_set_language(const char *lang_str)
const char * lang_charset_introducer(const INTL_CODESET codeset)
int lang_set_charset_lang(const char *lang_charset)
TEXT_CONVERSION * lang_get_txt_conv(void)
const char * timestamp_format
void lang_set_generic_unicode_norm(UNICODE_NORMALIZATION *norm)
const char * day_parse_order
const char * lang_get_codeset_name(int codeset_id)
int lang_load_coll_from_lib(COLL_DATA *cd, void *lib_handle, const LOCALE_FILE *lf)
const char * day_short_parse_order
const char * am_pm_parse_order
const char * lang_get_Lang_name(void)
int lang_set_flag_from_lang(const char *lang_str, bool has_user_format, bool has_user_lang, int *flag)
int lang_set_flag_from_lang_id(const INTL_LANG lang, bool has_user_format, bool has_user_lang, int *flag)
int lang_load_library(const char *lib_file, void **handle)
const char * charset_desc
int lang_load_get_coll_name_from_lib(const int coll_pos, char **coll_name, void *lib_handle, const LOCALE_FILE *lf)
const char * month_parse_order
INTL_LANG lang_get_lang_id_from_flag(const int flag, bool *has_user_format, bool *has_user_lang)
int lang_strmatch_utf8_uca_w_coll_data(const COLL_DATA *coll_data, bool is_match, const unsigned char *str1, const int size1, const unsigned char *str2, const int size2, const unsigned char *escape, const bool has_last_escape, int *str1_match_size, bool ignore_trailing_space)
int lang_db_put_charset(void)
int lang_locale_data_load_from_lib(LANG_LOCALE_DATA *lld, void *lib_handle, const LOCALE_FILE *lf, bool is_load_for_dump)
char lang_digit_grouping_symbol(const INTL_LANG lang_id)
UNICODE_NORMALIZATION unicode_norm
DB_CURRENCY lang_currency(void)
DB_CURRENCY lang_locale_currency(const char *locale_str)
void lang_set_parser_use_client_charset(bool use)
int lang_get_lang_id_from_name(const char *lang_name, INTL_LANG *lang_id)
TEXT_CONVERSION * txt_conv
int lang_charset_name_to_id(const char *name, INTL_CODESET *codeset)
int lang_locales_count(bool check_codeset)
LANG_COLLATION * default_lang_coll
LANG_LOCALE_DATA * default_lang
int lang_check_locale_compat(const LANG_LOCALE_COMPAT *loc_array, const int loc_cnt, const char *client_text, const char *server_text)
UNICODE_NORMALIZATION * lang_get_generic_unicode_norm(void)
enum intl_codeset INTL_CODESET
INTL_CODESET lang_charset(void)
const char * datetimetz_format
LANG_COLLATION * lang_get_collation(const int coll_id)
bool lang_check_identifier(const char *name, int length)
LANG_COLLATION * lang_get_collation_by_name(const char *coll_name)
char lang_digit_fractional_symbol(const INTL_LANG lang_id)
#define LANG_MAX_LANGNAME
DB_CURRENCY default_currency_code
INTL_CODESET lang_Loc_charset
const char * lang_get_collation_name(const int coll_id)
const char * lang_date_format_parse(const INTL_LANG lang_id, const INTL_CODESET codeset, const DB_TYPE type, INTL_CODESET *format_codeset)
const LANG_LOCALE_DATA * lang_get_first_locale_for_lang(const INTL_LANG lang)
LANG_COLLATION * lang_Collations[LANG_MAX_COLLATIONS]
const char * lang_get_lang_name_from_id(const INTL_LANG lang_id)