File language_support.c
FileList > base > language_support.c
Go to the source code of this file
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <langinfo.h>
#include "language_support.h"
#include "chartype.h"
#include "environment_variable.h"
#include "memory_hash.h"
#include "object_primitive.h"
#include "util_func.h"
#include <dlfcn.h>
#include "tz_support.h"
#include "db_date.h"
#include "string_opfunc.h"
#include "dbtype.h"
#include "memory_wrapper.hpp"
Classes
Public Types
Public Attributes
Public Static Attributes
Public Functions
| Type |
Name |
| int |
lang_char_mem_size (const char * p)
|
| int |
lang_char_screen_size (const char * p)
|
| INTL_CODESET |
lang_charset (void)
|
| const char * |
lang_charset_cubrid_name (const INTL_CODESET codeset)
|
| INTL_CODESET |
lang_charset_cubrid_name_to_id (const char * name)
|
| const char * |
lang_charset_introducer (const INTL_CODESET codeset)
|
| const char * |
lang_charset_name (const INTL_CODESET codeset)
|
| int |
lang_check_coll_compat (const LANG_COLL_COMPAT * coll_array, const int coll_cnt, const char * client_text, const char * server_text)
|
| bool |
lang_check_identifier (const char * name, int length)
|
| int |
lang_check_locale_compat (const LANG_LOCALE_COMPAT * loc_array, const int loc_cnt, const char * client_text, const char * server_text)
|
| int |
lang_collation_count (void)
|
| DB_CURRENCY |
lang_currency ()
|
| const char * |
lang_currency_symbol (DB_CURRENCY curr)
|
| const char * |
lang_date_format_parse (const INTL_LANG lang_id, const INTL_CODESET codeset, const DB_TYPE type, INTL_CODESET * format_codeset)
|
| char |
lang_digit_fractional_symbol (const INTL_LANG lang_id)
|
| char |
lang_digit_grouping_symbol (const INTL_LANG lang_id)
|
| void |
lang_final (void)
|
| const char * |
lang_get_Lang_name (void)
|
| int |
lang_get_charset_env_string (char * buf, int buf_size, const char * lang_name, const INTL_CODESET codeset)
|
| const char * |
lang_get_codeset_name (int codeset_id)
|
| LANG_COLLATION * |
lang_get_collation (const int coll_id)
|
| LANG_COLLATION * |
lang_get_collation_by_name (const char * coll_name)
|
| const char * |
lang_get_collation_name (const int coll_id)
|
| const LANG_LOCALE_DATA * |
lang_get_first_locale_for_lang (const INTL_LANG lang)
|
| UNICODE_NORMALIZATION * |
lang_get_generic_unicode_norm (void)
|
| INTL_LANG |
lang_get_lang_id_from_flag (const int flag, bool * has_user_format, bool * has_user_lang)
|
| int |
lang_get_lang_id_from_name (const char * lang_name, INTL_LANG * lang_id)
|
| const char * |
lang_get_lang_name_from_id (const INTL_LANG lang_id)
|
| const char * |
lang_get_msg_Loc_name (void)
|
| const LANG_LOCALE_DATA * |
lang_get_specific_locale (const INTL_LANG lang, const INTL_CODESET codeset)
|
| TEXT_CONVERSION * |
lang_get_txt_conv (void)
|
| INTL_LANG |
lang_id (void)
|
| int |
lang_init (void)
|
| void |
lang_init_builtin (void)
|
| void |
lang_init_console_txt_conv (void)
|
| bool |
lang_is_all_initialized (void)
|
| bool |
lang_is_coll_name_allowed (const char * name)
|
| int |
lang_load_coll_from_lib (COLL_DATA * cd, void * lib_handle, const LOCALE_FILE * lf)
|
| int |
lang_load_count_coll_from_lib (int * count_coll, void * lib_handle, const LOCALE_FILE * lf)
|
| int |
lang_load_get_coll_name_from_lib (const int coll_pos, char ** coll_name, void * lib_handle, const LOCALE_FILE * lf)
|
| int |
lang_load_library (const char * lib_file, void ** handle)
|
| const LANG_LOCALE_DATA * |
lang_locale (void)
|
| DB_CURRENCY |
lang_locale_currency (const char * locale_str)
|
| int |
lang_locale_data_load_from_lib (LANG_LOCALE_DATA * lld, void * lib_handle, const LOCALE_FILE * lf, bool is_load_for_dump)
|
| int |
lang_locales_count (bool check_codeset)
|
| int |
lang_set_charset (const INTL_CODESET codeset)
|
| int |
lang_set_charset_lang (const char * lang_charset)
|
| int |
lang_set_flag_from_lang (const char * lang_str, bool has_user_format, bool has_user_lang, int * flag)
|
| void |
lang_set_generic_unicode_norm (UNICODE_NORMALIZATION * norm)
|
| int |
lang_set_language (const char * lang_str)
|
| 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)
|
| const ALPHABET_DATA * |
lang_user_alphabet_w_coll (const int collation_id)
|
| int |
lang_wchar_mem_size (const wchar_t * p)
|
| int |
lang_wchar_screen_size (const wchar_t * p)
|
Public Static Functions
| Type |
Name |
| int |
check_env_lang_val (char * env_val, char * lang_name, char ** charset_ptr, INTL_CODESET * codeset)
|
| void |
destroy_user_locales (void)
|
| LANG_LOCALE_DATA * |
find_lang_locale_data (const char * name, const INTL_CODESET codeset, LANG_LOCALE_DATA ** last_lang_locale)
|
| void |
free_lang_locale_data (LANG_LOCALE_DATA * lld)
|
| int |
init_user_locales (void)
|
| int |
lang_back_strmatch_utf8_uca_w_level (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 * offset_next_level, int * str1_match_size, bool ignore_trailing_space)
|
| int |
lang_fastcmp_binary (const LANG_COLLATION * lang_coll, const unsigned char * string1, const int size1, const unsigned char * string2, const int size2, bool ignore_trailing_space)
|
| int |
lang_fastcmp_byte (const LANG_COLLATION * lang_coll, const unsigned char * string1, const int size1, const unsigned char * string2, const int size2, bool ignore_trailing_space)
|
| int |
lang_fastcmp_ko (const LANG_COLLATION * lang_coll, const unsigned char * string1, int size1, const unsigned char * string2, int size2, bool ignore_trailing_space)
|
| void |
lang_free_collations (void)
|
| int |
lang_get_builtin_lang_id_from_name (const char * lang_name, INTL_LANG * lang_id)
|
| COLL_CONTRACTION * |
lang_get_contr_for_string (const COLL_DATA * coll_data, const unsigned char * str, const int str_size, unsigned int cp)
|
| INTL_CODESET |
lang_get_default_codeset (const INTL_LANG intl_id)
|
| void |
lang_get_uca_back_weight_l13 (const COLL_DATA * coll_data, const bool use_contractions, const unsigned char * str_start, const unsigned char * str_last, UCA_L13_W ** uca_w_l13, int * num_ce, unsigned char ** str_prev, unsigned int * cp_out)
|
| void |
lang_get_uca_w_l13 (const COLL_DATA * coll_data, const bool use_contractions, const unsigned char * str, const int size, UCA_L13_W ** uca_w_l13, int * num_ce, unsigned char ** str_next, unsigned int * cp_out)
|
| void |
lang_get_uca_w_l4 (const COLL_DATA * coll_data, const bool use_contractions, const unsigned char * str, const int size, UCA_L4_W ** uca_w_l4, int * num_ce, unsigned char ** str_next, unsigned int * cp_out)
|
| unsigned int |
lang_get_w_first_el (const COLL_DATA * coll, const unsigned char * str, const int str_size, unsigned char ** next_char, bool ignore_trailing_space)
|
| void |
lang_init_coll_Utf8_tr_cs (LANG_COLLATION * lang_coll)
|
| void |
lang_init_coll_en_ci (LANG_COLLATION * lang_coll)
|
| void |
lang_init_coll_en_cs (LANG_COLLATION * lang_coll)
|
| void |
lang_initloc_en_binary (LANG_LOCALE_DATA * ld)
|
| void |
lang_initloc_en_iso88591 (LANG_LOCALE_DATA * ld)
|
| void |
lang_initloc_en_utf8 (LANG_LOCALE_DATA * ld)
|
| void |
lang_initloc_ko_euc (LANG_LOCALE_DATA * ld)
|
| void |
lang_initloc_ko_iso (LANG_LOCALE_DATA * ld)
|
| void |
lang_initloc_ko_utf8 (LANG_LOCALE_DATA * ld)
|
| void |
lang_initloc_tr_iso (LANG_LOCALE_DATA * ld)
|
| void |
lang_initloc_tr_utf8 (LANG_LOCALE_DATA * ld)
|
| bool |
lang_is_codeset_allowed (const INTL_LANG intl_id, const INTL_CODESET codeset)
|
| int |
lang_locale_load_alpha_from_lib (ALPHABET_DATA * a, bool load_w_identifier_name, const char * alpha_suffix, void * lib_handle, const LOCALE_FILE * lf)
|
| int |
lang_locale_load_normalization_from_lib (UNICODE_NORMALIZATION * norm, void * lib_handle, const LOCALE_FILE * lf)
|
| unsigned int |
lang_mht2str_byte (const LANG_COLLATION * lang_coll, const unsigned char * str, const int size)
|
| unsigned int |
lang_mht2str_default (const LANG_COLLATION * lang_coll, const unsigned char * str, const int size)
|
| unsigned int |
lang_mht2str_ko (const LANG_COLLATION * lang_coll, const unsigned char * str, const int size)
|
| unsigned int |
lang_mht2str_utf8 (const LANG_COLLATION * lang_coll, const unsigned char * str, const int size)
|
| unsigned int |
lang_mht2str_utf8_exp (const LANG_COLLATION * lang_coll, const unsigned char * str, const int size)
|
| int |
lang_next_alpha_char_iso88591 (const LANG_COLLATION * lang_coll, const unsigned char * seq, const int size, unsigned char * next_seq, int * len_next, bool ignore_trailing_space)
|
| int |
lang_next_alpha_char_ko (const LANG_COLLATION * lang_coll, const unsigned char * seq, const int size, unsigned char * next_seq, int * len_next, bool ignore_trailing_space)
|
| int |
lang_next_coll_byte (const LANG_COLLATION * lang_coll, const unsigned char * seq, const int size, unsigned char * next_seq, int * len_next, bool ignore_trailing_space)
|
| int |
lang_next_coll_char_utf8 (const LANG_COLLATION * lang_coll, const unsigned char * seq, const int size, unsigned char * next_seq, int * len_next, bool ignore_trailing_space)
|
| int |
lang_next_coll_seq_utf8_w_contr (const LANG_COLLATION * lang_coll, const unsigned char * seq, const int size, unsigned char * next_seq, int * len_next, bool ignore_trailing_space)
|
| int |
lang_split_key_binary (const LANG_COLLATION * lang_coll, const bool is_desc, const unsigned char * str1, const int size1, const unsigned char * str2, const int size2, const unsigned char ** key, int * byte_size, bool ignore_trailing_space)
|
| int |
lang_split_key_byte (const LANG_COLLATION * lang_coll, const bool is_desc, const unsigned char * str1, const int size1, const unsigned char * str2, const int size2, const unsigned char ** key, int * byte_size, bool ignore_trailing_space)
|
| int |
lang_split_key_euckr (const LANG_COLLATION * lang_coll, const bool is_desc, const unsigned char * str1, const int size1, const unsigned char * str2, const int size2, const unsigned char ** key, int * byte_size, bool ignore_trailing_space)
|
| int |
lang_split_key_iso (const LANG_COLLATION * lang_coll, const bool is_desc, const unsigned char * str1, const int size1, const unsigned char * str2, const int size2, const unsigned char ** key, int * byte_size, bool ignore_trailing_space)
|
| int |
lang_split_key_utf8 (const LANG_COLLATION * lang_coll, const bool is_desc, const unsigned char * str1, const int size1, const unsigned char * str2, const int size2, const unsigned char ** key, int * byte_size, bool ignore_trailing_space)
|
| int |
lang_split_key_w_exp (const LANG_COLLATION * lang_coll, const bool is_desc, const unsigned char * str1, const int size1, const unsigned char * str2, const int size2, const unsigned char ** key, int * byte_size, bool ignore_trailing_space)
|
| int |
lang_str_utf8_trail_zero_weights (const LANG_COLLATION * lang_coll, const unsigned char * str, int size)
|
| int |
lang_str_utf8_trail_zero_weights_w_exp (const COLL_DATA * coll_data, const int level, const unsigned char * str, int size)
|
| int |
lang_strcmp_utf8 (const LANG_COLLATION * lang_coll, const unsigned char * str1, const int size1, const unsigned char * str2, const int size2, bool ignore_trailing_space)
|
| int |
lang_strcmp_utf8_uca (const LANG_COLLATION * lang_coll, const unsigned char * str1, const int size1, const unsigned char * str2, const int size2, bool ignore_trailing_space)
|
| int |
lang_strcmp_utf8_w_contr (const LANG_COLLATION * lang_coll, const unsigned char * str1, const int size1, const unsigned char * str2, const int size2, bool ignore_trailing_space)
|
| int |
lang_strmatch_binary (const LANG_COLLATION * lang_coll, bool is_match, const unsigned char * str1, int size1, const unsigned char * str2, int size2, const unsigned char * escape, const bool has_last_escape, int * str1_match_size, bool ignore_trailing_space)
|
| int |
lang_strmatch_byte (const LANG_COLLATION * lang_coll, bool is_match, const unsigned char * str1, int size1, const unsigned char * str2, int size2, const unsigned char * escape, const bool has_last_escape, int * str1_match_size, bool ignore_trailing_space)
|
| int |
lang_strmatch_ko (const LANG_COLLATION * lang_coll, bool is_match, const unsigned char * str1, int size1, const unsigned char * str2, int size2, const unsigned char * escape, const bool has_last_escape, int * str1_match_size, bool ignore_trailing_space)
|
| int |
lang_strmatch_utf8 (const LANG_COLLATION * lang_coll, bool is_match, const unsigned char * str1, int size1, const unsigned char * str2, int size2, const unsigned char * escape, const bool has_last_escape, int * str1_match_size, bool ignore_trailing_space)
|
| int |
lang_strmatch_utf8_uca (const LANG_COLLATION * lang_coll, 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_strmatch_utf8_uca_w_level (const COLL_DATA * coll_data, const int level, 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 * offset_next_level, int * str1_match_size, bool ignore_trailing_space)
|
| int |
lang_strmatch_utf8_w_contr (const LANG_COLLATION * lang_coll, bool is_match, const unsigned char * str1, int size1, const unsigned char * str2, int size2, const unsigned char * escape, const bool has_last_escape, int * str1_match_size, bool ignore_trailing_space)
|
| void |
lang_unload_libraries (void)
|
| int |
register_collation (LANG_COLLATION * coll)
|
| int |
register_lang_locale_data (LANG_LOCALE_DATA * lld)
|
| int |
set_current_locale (void)
|
| void |
set_default_lang (void)
|
| int |
set_msg_lang_from_env (void)
|
Macros
| Type |
Name |
| define |
ADD_TO_HASH (pseudo_key, w) /* multi line expression */
|
| define |
ASCII_SPACE 0x20
|
| define |
CI_COLL_OPTIONS {[**false**](broker__monitor_8c.md#function-timeout), [**false**](broker__monitor_8c.md#function-timeout), [**true**](broker__monitor_8c.md#function-timeout)}
|
| define |
DEFAULT_COLL_OPTIONS {[**true**](broker__monitor_8c.md#function-timeout), [**true**](broker__monitor_8c.md#function-timeout), [**true**](broker__monitor_8c.md#function-timeout)}
|
| define |
EUC_SPACE 0xa1 /\* [**for**](dynamic__load_8c.md#function-for) [**euckr**](broker__monitor_8c.md#function-timeout) \*/
|
| define |
GET_SYM_ADDR (lib, sym) [**dlsym**](broker__monitor_8c.md#function-timeout)([**lib**](broker__monitor_8c.md#function-timeout), [**sym**](broker__monitor_8c.md#function-timeout))
|
| define |
GET_UCA_WEIGHT (l, i, l13w, l4w) /* multi line expression */
|
| define |
INTL_CONTR_FOUND (v) (((v) & [**INTL\_MASK\_CONTR**](locale__support_8h.md#define-intl_mask_contr)) == [**INTL\_MASK\_CONTR**](locale__support_8h.md#define-intl_mask_contr))
|
| define |
LANG_CHAR_COUNT_EN 256
|
| define |
LANG_CHAR_COUNT_TR 352
|
| define |
LANG_COLL_GENERIC_SORT_OPT /* multi line expression */
|
| define |
LANG_COLL_NO_CONTR [**NULL**](freelistheap_8h.md#define-null), 0, 0, [**NULL**](freelistheap_8h.md#define-null), 0, 0
|
| define |
LANG_COLL_NO_EXP 0, [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null)
|
| define |
LANG_NO_NORMALIZATION {[**NULL**](freelistheap_8h.md#define-null), 0, [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), 0}
|
| define |
LANG_W_MAP_COUNT_EN 256
|
| define |
LOCALE_DUMMY_ALPHABET (codeset) {ALPHABET\_TAILORED, (codeset), 0, 0, [**NULL**](freelistheap_8h.md#define-null), 0, [**NULL**](freelistheap_8h.md#define-null), [**false**](broker__monitor_8c.md#function-timeout)}
|
| define |
LOCALE_NULL_CALENDAR_NAMES /* multi line expression */
|
| define |
LOCALE_NULL_DATE_FORMATS [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null)
|
| define |
PAD ' ' /\* [**str\_pad\_char**](broker__monitor_8c.md#function-timeout)(INTL\_CODESET\_ISO88591, [**pad**](broker__monitor_8c.md#function-timeout), &[**pad\_size**](broker__monitor_8c.md#function-timeout)) \*/
|
| define |
SHLIB_GET_ADDR (v, SYM_NAME, SYM_TYPE, lh, LOC_NAME) /* multi line expression */
|
| define |
SHLIB_GET_ADDR_W_REF (v, SYM_NAME, SYM_TYPE, lh, LOC_NAME) /* multi line expression */
|
| define |
SHLIB_GET_VAL (v, SYM_NAME, SYM_TYPE, lh, LOC_NAME) /* multi line expression */
|
| define |
SPACE [**PAD**](language__support_8c.md#define-pad) /\* [**smallest**](broker__monitor_8c.md#function-timeout) [**character**](broker__monitor_8c.md#function-timeout) in [**the**](broker__monitor_8c.md#function-timeout) collation sequence \*/
|
| define |
ZERO '\0' /\* [**space**](broker__monitor_8c.md#function-timeout) [**is**](broker__monitor_8c.md#function-timeout) [**treated**](broker__monitor_8c.md#function-timeout) [**as**](broker__monitor_8c.md#function-timeout) [**zero**](broker__monitor_8c.md#function-timeout) \*/
|
Public Types Documentation
typedef LANG_DEFAULTS
typedef struct lang_defaults LANG_DEFAULTS;
Public Attributes Documentation
variable con_Iso_8859_1_conv
TEXT_CONVERSION con_Iso_8859_1_conv;
variable con_Iso_8859_9_conv
TEXT_CONVERSION con_Iso_8859_9_conv;
variable lang_Collations
LANG_COLLATION* lang_Collations[256];
variable lang_Loc_charset
INTL_CODESET lang_Loc_charset;
Public Static Attributes Documentation
variable built_In_collations
LANG_COLLATION* built_In_collations[];
variable builtin_Langs
const LANG_DEFAULTS builtin_Langs[];
variable coll_Binary
LANG_COLLATION coll_Binary;
variable coll_Euckr_bin
LANG_COLLATION coll_Euckr_bin;
variable coll_Iso88591_en_ci
LANG_COLLATION coll_Iso88591_en_ci;
variable coll_Iso88591_en_cs
LANG_COLLATION coll_Iso88591_en_cs;
variable coll_Iso_binary
LANG_COLLATION coll_Iso_binary;
variable coll_Utf8_binary
LANG_COLLATION coll_Utf8_binary;
variable coll_Utf8_en_ci
LANG_COLLATION coll_Utf8_en_ci;
variable coll_Utf8_en_cs
LANG_COLLATION coll_Utf8_en_cs;
variable coll_Utf8_ko_cs
LANG_COLLATION coll_Utf8_ko_cs;
variable coll_Utf8_tr_cs
LANG_COLLATION coll_Utf8_tr_cs;
variable console_Conv
TEXT_CONVERSION* console_Conv;
variable generic_Unicode_norm
UNICODE_NORMALIZATION* generic_Unicode_norm;
variable lang_Builtin_initialized
bool lang_Builtin_initialized;
variable lang_Charset_initialized
bool lang_Charset_initialized;
variable lang_Count_collations
int lang_Count_collations;
variable lang_Count_locales
variable lang_Db_charsets
const DB_CHARSET lang_Db_charsets[];
variable lang_Init_w_error
variable lang_Initialized
variable lang_Lang_id
variable lang_Lang_name
char lang_Lang_name[256];
variable lang_Language_initialized
bool lang_Language_initialized;
variable lang_Loaded_locales
LANG_LOCALE_DATA* lang_Loaded_locales[32];
variable lang_Loc_currency
DB_CURRENCY lang_Loc_currency;
variable lang_Loc_data
LANG_LOCALE_DATA* lang_Loc_data;
variable lang_Loc_name
variable lang_Msg_env_initialized
bool lang_Msg_env_initialized;
variable lang_Msg_loc_name
char lang_Msg_loc_name[256];
variable lang_Next_alpha_char_EN_ci
unsigned int lang_Next_alpha_char_EN_ci[256];
variable lang_Next_alpha_char_EN_ci_ti
unsigned int lang_Next_alpha_char_EN_ci_ti[256];
variable lang_Next_alpha_char_EN_cs
unsigned int lang_Next_alpha_char_EN_cs[256];
variable lang_Next_alpha_char_EN_cs_ti
unsigned int lang_Next_alpha_char_EN_cs_ti[256];
variable lang_Next_alpha_char_TR
unsigned int lang_Next_alpha_char_TR[352];
variable lang_Next_alpha_char_TR_ti
unsigned int lang_Next_alpha_char_TR_ti[352];
variable lang_Weight_EN_ci
unsigned int lang_Weight_EN_ci[256];
variable lang_Weight_EN_ci_ti
unsigned int lang_Weight_EN_ci_ti[256];
variable lang_Weight_EN_cs
unsigned int lang_Weight_EN_cs[256];
variable lang_Weight_EN_cs_ti
unsigned int lang_Weight_EN_cs_ti[256];
variable lang_Weight_TR
unsigned int lang_Weight_TR[352];
variable lang_Weight_TR_ti
unsigned int lang_Weight_TR_ti[352];
char lang_date_format_TR[];
char lang_datetime_format_TR[];
char lang_datetimetz_format_TR[];
variable lang_lower_EN
unsigned int lang_lower_EN[256];
variable lang_lower_TR
unsigned int lang_lower_TR[352];
variable lang_lower_i_TR
unsigned int lang_lower_i_TR[352];
char lang_time_format_TR[];
char lang_timestamp_format_TR[];
char lang_timestamptz_format_TR[];
variable lang_upper_EN
unsigned int lang_upper_EN[256];
variable lang_upper_TR
unsigned int lang_upper_TR[352];
variable lang_upper_i_TR
unsigned int lang_upper_i_TR[352];
variable lang_w_map_EN
variable lc_English_binary
LANG_LOCALE_DATA lc_English_binary;
variable lc_English_iso88591
LANG_LOCALE_DATA lc_English_iso88591;
variable lc_English_utf8
LANG_LOCALE_DATA lc_English_utf8;
variable lc_Korean_euckr
LANG_LOCALE_DATA lc_Korean_euckr;
variable lc_Korean_iso88591
LANG_LOCALE_DATA lc_Korean_iso88591;
variable lc_Korean_utf8
LANG_LOCALE_DATA lc_Korean_utf8;
variable lc_Turkish_iso88591
LANG_LOCALE_DATA lc_Turkish_iso88591;
variable lc_Turkish_utf8
LANG_LOCALE_DATA lc_Turkish_utf8;
variable loclib_Handle
variable loclib_Handle_count
variable loclib_Handle_size
variable uca_l13_max_weight
UCA_L13_W uca_l13_max_weight;
variable uca_l4_max_weight
UCA_L4_W uca_l4_max_weight;
Public Functions Documentation
function lang_char_mem_size
int lang_char_mem_size (
const char * p
)
function lang_char_screen_size
int lang_char_screen_size (
const char * p
)
function lang_charset
INTL_CODESET lang_charset (
void
)
function lang_charset_cubrid_name
const char * lang_charset_cubrid_name (
const INTL_CODESET codeset
)
function lang_charset_cubrid_name_to_id
INTL_CODESET lang_charset_cubrid_name_to_id (
const char * name
)
function lang_charset_introducer
const char * lang_charset_introducer (
const INTL_CODESET codeset
)
function lang_charset_name
const char * lang_charset_name (
const INTL_CODESET codeset
)
function lang_check_coll_compat
int lang_check_coll_compat (
const LANG_COLL_COMPAT * coll_array,
const int coll_cnt,
const char * client_text,
const char * server_text
)
function lang_check_identifier
bool lang_check_identifier (
const char * name,
int length
)
function lang_check_locale_compat
int lang_check_locale_compat (
const LANG_LOCALE_COMPAT * loc_array,
const int loc_cnt,
const char * client_text,
const char * server_text
)
function lang_collation_count
int lang_collation_count (
void
)
function lang_currency
DB_CURRENCY lang_currency ()
function lang_currency_symbol
const char * lang_currency_symbol (
DB_CURRENCY curr
)
const char * lang_date_format_parse (
const INTL_LANG lang_id,
const INTL_CODESET codeset,
const DB_TYPE type,
INTL_CODESET * format_codeset
)
function lang_digit_fractional_symbol
char lang_digit_fractional_symbol (
const INTL_LANG lang_id
)
function lang_digit_grouping_symbol
char lang_digit_grouping_symbol (
const INTL_LANG lang_id
)
function lang_final
function lang_get_Lang_name
const char * lang_get_Lang_name (
void
)
function lang_get_charset_env_string
int lang_get_charset_env_string (
char * buf,
int buf_size,
const char * lang_name,
const INTL_CODESET codeset
)
function lang_get_codeset_name
const char * lang_get_codeset_name (
int codeset_id
)
function lang_get_collation
LANG_COLLATION * lang_get_collation (
const int coll_id
)
function lang_get_collation_by_name
LANG_COLLATION * lang_get_collation_by_name (
const char * coll_name
)
function lang_get_collation_name
const char * lang_get_collation_name (
const int coll_id
)
function lang_get_first_locale_for_lang
const LANG_LOCALE_DATA * lang_get_first_locale_for_lang (
const INTL_LANG lang
)
function lang_get_generic_unicode_norm
UNICODE_NORMALIZATION * lang_get_generic_unicode_norm (
void
)
function lang_get_lang_id_from_flag
INTL_LANG lang_get_lang_id_from_flag (
const int flag,
bool * has_user_format,
bool * has_user_lang
)
function lang_get_lang_id_from_name
int lang_get_lang_id_from_name (
const char * lang_name,
INTL_LANG * lang_id
)
function lang_get_lang_name_from_id
const char * lang_get_lang_name_from_id (
const INTL_LANG lang_id
)
function lang_get_msg_Loc_name
const char * lang_get_msg_Loc_name (
void
)
function lang_get_specific_locale
const LANG_LOCALE_DATA * lang_get_specific_locale (
const INTL_LANG lang,
const INTL_CODESET codeset
)
function lang_get_txt_conv
TEXT_CONVERSION * lang_get_txt_conv (
void
)
function lang_id
INTL_LANG lang_id (
void
)
function lang_init
function lang_init_builtin
void lang_init_builtin (
void
)
function lang_init_console_txt_conv
void lang_init_console_txt_conv (
void
)
function lang_is_all_initialized
bool lang_is_all_initialized (
void
)
function lang_is_coll_name_allowed
bool lang_is_coll_name_allowed (
const char * name
)
function lang_load_coll_from_lib
int lang_load_coll_from_lib (
COLL_DATA * cd,
void * lib_handle,
const LOCALE_FILE * lf
)
function lang_load_count_coll_from_lib
int lang_load_count_coll_from_lib (
int * count_coll,
void * lib_handle,
const LOCALE_FILE * lf
)
function lang_load_get_coll_name_from_lib
int lang_load_get_coll_name_from_lib (
const int coll_pos,
char ** coll_name,
void * lib_handle,
const LOCALE_FILE * lf
)
function lang_load_library
int lang_load_library (
const char * lib_file,
void ** handle
)
function lang_locale
const LANG_LOCALE_DATA * lang_locale (
void
)
function lang_locale_currency
DB_CURRENCY lang_locale_currency (
const char * locale_str
)
function lang_locale_data_load_from_lib
int lang_locale_data_load_from_lib (
LANG_LOCALE_DATA * lld,
void * lib_handle,
const LOCALE_FILE * lf,
bool is_load_for_dump
)
function lang_locales_count
int lang_locales_count (
bool check_codeset
)
function lang_set_charset
int lang_set_charset (
const INTL_CODESET codeset
)
function lang_set_charset_lang
int lang_set_charset_lang (
const char * lang_charset
)
function lang_set_flag_from_lang
int lang_set_flag_from_lang (
const char * lang_str,
bool has_user_format,
bool has_user_lang,
int * flag
)
function lang_set_generic_unicode_norm
void lang_set_generic_unicode_norm (
UNICODE_NORMALIZATION * norm
)
function lang_set_language
int lang_set_language (
const char * lang_str
)
function lang_strmatch_utf8_uca_w_coll_data
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
)
function lang_user_alphabet_w_coll
const ALPHABET_DATA * lang_user_alphabet_w_coll (
const int collation_id
)
function lang_wchar_mem_size
int lang_wchar_mem_size (
const wchar_t * p
)
function lang_wchar_screen_size
int lang_wchar_screen_size (
const wchar_t * p
)
Public Static Functions Documentation
function check_env_lang_val
static int check_env_lang_val (
char * env_val,
char * lang_name,
char ** charset_ptr,
INTL_CODESET * codeset
)
function destroy_user_locales
static void destroy_user_locales (
void
)
function find_lang_locale_data
static LANG_LOCALE_DATA * find_lang_locale_data (
const char * name,
const INTL_CODESET codeset,
LANG_LOCALE_DATA ** last_lang_locale
)
function free_lang_locale_data
static void free_lang_locale_data (
LANG_LOCALE_DATA * lld
)
function init_user_locales
static int init_user_locales (
void
)
function lang_back_strmatch_utf8_uca_w_level
static int lang_back_strmatch_utf8_uca_w_level (
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 * offset_next_level,
int * str1_match_size,
bool ignore_trailing_space
)
function lang_fastcmp_binary
static int lang_fastcmp_binary (
const LANG_COLLATION * lang_coll,
const unsigned char * string1,
const int size1,
const unsigned char * string2,
const int size2,
bool ignore_trailing_space
)
function lang_fastcmp_byte
static int lang_fastcmp_byte (
const LANG_COLLATION * lang_coll,
const unsigned char * string1,
const int size1,
const unsigned char * string2,
const int size2,
bool ignore_trailing_space
)
function lang_fastcmp_ko
static int lang_fastcmp_ko (
const LANG_COLLATION * lang_coll,
const unsigned char * string1,
int size1,
const unsigned char * string2,
int size2,
bool ignore_trailing_space
)
function lang_free_collations
static void lang_free_collations (
void
)
function lang_get_builtin_lang_id_from_name
static int lang_get_builtin_lang_id_from_name (
const char * lang_name,
INTL_LANG * lang_id
)
function lang_get_contr_for_string
static COLL_CONTRACTION * lang_get_contr_for_string (
const COLL_DATA * coll_data,
const unsigned char * str,
const int str_size,
unsigned int cp
)
function lang_get_default_codeset
static INTL_CODESET lang_get_default_codeset (
const INTL_LANG intl_id
)
function lang_get_uca_back_weight_l13
static void lang_get_uca_back_weight_l13 (
const COLL_DATA * coll_data,
const bool use_contractions,
const unsigned char * str_start,
const unsigned char * str_last,
UCA_L13_W ** uca_w_l13,
int * num_ce,
unsigned char ** str_prev,
unsigned int * cp_out
)
function lang_get_uca_w_l13
static void lang_get_uca_w_l13 (
const COLL_DATA * coll_data,
const bool use_contractions,
const unsigned char * str,
const int size,
UCA_L13_W ** uca_w_l13,
int * num_ce,
unsigned char ** str_next,
unsigned int * cp_out
)
function lang_get_uca_w_l4
static void lang_get_uca_w_l4 (
const COLL_DATA * coll_data,
const bool use_contractions,
const unsigned char * str,
const int size,
UCA_L4_W ** uca_w_l4,
int * num_ce,
unsigned char ** str_next,
unsigned int * cp_out
)
function lang_get_w_first_el
static unsigned int lang_get_w_first_el (
const COLL_DATA * coll,
const unsigned char * str,
const int str_size,
unsigned char ** next_char,
bool ignore_trailing_space
)
function lang_init_coll_Utf8_tr_cs
static void lang_init_coll_Utf8_tr_cs (
LANG_COLLATION * lang_coll
)
function lang_init_coll_en_ci
static void lang_init_coll_en_ci (
LANG_COLLATION * lang_coll
)
function lang_init_coll_en_cs
static void lang_init_coll_en_cs (
LANG_COLLATION * lang_coll
)
function lang_initloc_en_binary
static void lang_initloc_en_binary (
LANG_LOCALE_DATA * ld
)
function lang_initloc_en_iso88591
static void lang_initloc_en_iso88591 (
LANG_LOCALE_DATA * ld
)
function lang_initloc_en_utf8
static void lang_initloc_en_utf8 (
LANG_LOCALE_DATA * ld
)
function lang_initloc_ko_euc
static void lang_initloc_ko_euc (
LANG_LOCALE_DATA * ld
)
function lang_initloc_ko_iso
static void lang_initloc_ko_iso (
LANG_LOCALE_DATA * ld
)
function lang_initloc_ko_utf8
static void lang_initloc_ko_utf8 (
LANG_LOCALE_DATA * ld
)
function lang_initloc_tr_iso
static void lang_initloc_tr_iso (
LANG_LOCALE_DATA * ld
)
function lang_initloc_tr_utf8
static void lang_initloc_tr_utf8 (
LANG_LOCALE_DATA * ld
)
function lang_is_codeset_allowed
static bool lang_is_codeset_allowed (
const INTL_LANG intl_id,
const INTL_CODESET codeset
)
function lang_locale_load_alpha_from_lib
static int lang_locale_load_alpha_from_lib (
ALPHABET_DATA * a,
bool load_w_identifier_name,
const char * alpha_suffix,
void * lib_handle,
const LOCALE_FILE * lf
)
function lang_locale_load_normalization_from_lib
static int lang_locale_load_normalization_from_lib (
UNICODE_NORMALIZATION * norm,
void * lib_handle,
const LOCALE_FILE * lf
)
function lang_mht2str_byte
static unsigned int lang_mht2str_byte (
const LANG_COLLATION * lang_coll,
const unsigned char * str,
const int size
)
function lang_mht2str_default
static unsigned int lang_mht2str_default (
const LANG_COLLATION * lang_coll,
const unsigned char * str,
const int size
)
function lang_mht2str_ko
static unsigned int lang_mht2str_ko (
const LANG_COLLATION * lang_coll,
const unsigned char * str,
const int size
)
function lang_mht2str_utf8
static unsigned int lang_mht2str_utf8 (
const LANG_COLLATION * lang_coll,
const unsigned char * str,
const int size
)
function lang_mht2str_utf8_exp
static unsigned int lang_mht2str_utf8_exp (
const LANG_COLLATION * lang_coll,
const unsigned char * str,
const int size
)
function lang_next_alpha_char_iso88591
static int lang_next_alpha_char_iso88591 (
const LANG_COLLATION * lang_coll,
const unsigned char * seq,
const int size,
unsigned char * next_seq,
int * len_next,
bool ignore_trailing_space
)
function lang_next_alpha_char_ko
static int lang_next_alpha_char_ko (
const LANG_COLLATION * lang_coll,
const unsigned char * seq,
const int size,
unsigned char * next_seq,
int * len_next,
bool ignore_trailing_space
)
function lang_next_coll_byte
static int lang_next_coll_byte (
const LANG_COLLATION * lang_coll,
const unsigned char * seq,
const int size,
unsigned char * next_seq,
int * len_next,
bool ignore_trailing_space
)
function lang_next_coll_char_utf8
static int lang_next_coll_char_utf8 (
const LANG_COLLATION * lang_coll,
const unsigned char * seq,
const int size,
unsigned char * next_seq,
int * len_next,
bool ignore_trailing_space
)
function lang_next_coll_seq_utf8_w_contr
static int lang_next_coll_seq_utf8_w_contr (
const LANG_COLLATION * lang_coll,
const unsigned char * seq,
const int size,
unsigned char * next_seq,
int * len_next,
bool ignore_trailing_space
)
function lang_split_key_binary
static int lang_split_key_binary (
const LANG_COLLATION * lang_coll,
const bool is_desc,
const unsigned char * str1,
const int size1,
const unsigned char * str2,
const int size2,
const unsigned char ** key,
int * byte_size,
bool ignore_trailing_space
)
function lang_split_key_byte
static int lang_split_key_byte (
const LANG_COLLATION * lang_coll,
const bool is_desc,
const unsigned char * str1,
const int size1,
const unsigned char * str2,
const int size2,
const unsigned char ** key,
int * byte_size,
bool ignore_trailing_space
)
function lang_split_key_euckr
static int lang_split_key_euckr (
const LANG_COLLATION * lang_coll,
const bool is_desc,
const unsigned char * str1,
const int size1,
const unsigned char * str2,
const int size2,
const unsigned char ** key,
int * byte_size,
bool ignore_trailing_space
)
function lang_split_key_iso
static int lang_split_key_iso (
const LANG_COLLATION * lang_coll,
const bool is_desc,
const unsigned char * str1,
const int size1,
const unsigned char * str2,
const int size2,
const unsigned char ** key,
int * byte_size,
bool ignore_trailing_space
)
function lang_split_key_utf8
static int lang_split_key_utf8 (
const LANG_COLLATION * lang_coll,
const bool is_desc,
const unsigned char * str1,
const int size1,
const unsigned char * str2,
const int size2,
const unsigned char ** key,
int * byte_size,
bool ignore_trailing_space
)
function lang_split_key_w_exp
static int lang_split_key_w_exp (
const LANG_COLLATION * lang_coll,
const bool is_desc,
const unsigned char * str1,
const int size1,
const unsigned char * str2,
const int size2,
const unsigned char ** key,
int * byte_size,
bool ignore_trailing_space
)
function lang_str_utf8_trail_zero_weights
static int lang_str_utf8_trail_zero_weights (
const LANG_COLLATION * lang_coll,
const unsigned char * str,
int size
)
function lang_str_utf8_trail_zero_weights_w_exp
static int lang_str_utf8_trail_zero_weights_w_exp (
const COLL_DATA * coll_data,
const int level,
const unsigned char * str,
int size
)
function lang_strcmp_utf8
static int lang_strcmp_utf8 (
const LANG_COLLATION * lang_coll,
const unsigned char * str1,
const int size1,
const unsigned char * str2,
const int size2,
bool ignore_trailing_space
)
function lang_strcmp_utf8_uca
static int lang_strcmp_utf8_uca (
const LANG_COLLATION * lang_coll,
const unsigned char * str1,
const int size1,
const unsigned char * str2,
const int size2,
bool ignore_trailing_space
)
function lang_strcmp_utf8_w_contr
static int lang_strcmp_utf8_w_contr (
const LANG_COLLATION * lang_coll,
const unsigned char * str1,
const int size1,
const unsigned char * str2,
const int size2,
bool ignore_trailing_space
)
function lang_strmatch_binary
static int lang_strmatch_binary (
const LANG_COLLATION * lang_coll,
bool is_match,
const unsigned char * str1,
int size1,
const unsigned char * str2,
int size2,
const unsigned char * escape,
const bool has_last_escape,
int * str1_match_size,
bool ignore_trailing_space
)
function lang_strmatch_byte
static int lang_strmatch_byte (
const LANG_COLLATION * lang_coll,
bool is_match,
const unsigned char * str1,
int size1,
const unsigned char * str2,
int size2,
const unsigned char * escape,
const bool has_last_escape,
int * str1_match_size,
bool ignore_trailing_space
)
function lang_strmatch_ko
static int lang_strmatch_ko (
const LANG_COLLATION * lang_coll,
bool is_match,
const unsigned char * str1,
int size1,
const unsigned char * str2,
int size2,
const unsigned char * escape,
const bool has_last_escape,
int * str1_match_size,
bool ignore_trailing_space
)
function lang_strmatch_utf8
static int lang_strmatch_utf8 (
const LANG_COLLATION * lang_coll,
bool is_match,
const unsigned char * str1,
int size1,
const unsigned char * str2,
int size2,
const unsigned char * escape,
const bool has_last_escape,
int * str1_match_size,
bool ignore_trailing_space
)
function lang_strmatch_utf8_uca
static int lang_strmatch_utf8_uca (
const LANG_COLLATION * lang_coll,
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
)
function lang_strmatch_utf8_uca_w_level
static int lang_strmatch_utf8_uca_w_level (
const COLL_DATA * coll_data,
const int level,
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 * offset_next_level,
int * str1_match_size,
bool ignore_trailing_space
)
function lang_strmatch_utf8_w_contr
static int lang_strmatch_utf8_w_contr (
const LANG_COLLATION * lang_coll,
bool is_match,
const unsigned char * str1,
int size1,
const unsigned char * str2,
int size2,
const unsigned char * escape,
const bool has_last_escape,
int * str1_match_size,
bool ignore_trailing_space
)
function lang_unload_libraries
static void lang_unload_libraries (
void
)
function register_collation
static int register_collation (
LANG_COLLATION * coll
)
function register_lang_locale_data
static int register_lang_locale_data (
LANG_LOCALE_DATA * lld
)
function set_current_locale
static int set_current_locale (
void
)
function set_default_lang
static void set_default_lang (
void
)
function set_msg_lang_from_env
static int set_msg_lang_from_env (
void
)
Macro Definition Documentation
define ADD_TO_HASH
#define ADD_TO_HASH (
pseudo_key,
w
) `/* multi line expression */`
define ASCII_SPACE
#define ASCII_SPACE `0x20`
define CI_COLL_OPTIONS
#define CI_COLL_OPTIONS `{ false , false , true }`
define DEFAULT_COLL_OPTIONS
#define DEFAULT_COLL_OPTIONS `{ true , true , true }`
define EUC_SPACE
#define EUC_SPACE `0xa1 /* for euckr */`
define GET_SYM_ADDR
#define GET_SYM_ADDR (
lib,
sym
) `dlsym ( lib , sym )`
define GET_UCA_WEIGHT
#define GET_UCA_WEIGHT (
l,
i,
l13w,
l4w
) `/* multi line expression */`
define INTL_CONTR_FOUND
#define INTL_CONTR_FOUND (
v
) `(((v) & INTL_MASK_CONTR ) == INTL_MASK_CONTR )`
define LANG_CHAR_COUNT_EN
#define LANG_CHAR_COUNT_EN `256`
define LANG_CHAR_COUNT_TR
#define LANG_CHAR_COUNT_TR `352`
define LANG_COLL_GENERIC_SORT_OPT
#define LANG_COLL_GENERIC_SORT_OPT `{ TAILOR_UNDEFINED , false , false , 1, false , CONTR_IGNORE , false , \ MATCH_CONTR_BOUND_ALLOW }`
define LANG_COLL_NO_CONTR
#define LANG_COLL_NO_CONTR `NULL , 0, 0, NULL , 0, 0`
define LANG_COLL_NO_EXP
#define LANG_COLL_NO_EXP `0, NULL , NULL , NULL`
define LANG_NO_NORMALIZATION
#define LANG_NO_NORMALIZATION `{ NULL , 0, NULL , NULL , 0}`
define LANG_W_MAP_COUNT_EN
#define LANG_W_MAP_COUNT_EN `256`
define LOCALE_DUMMY_ALPHABET
#define LOCALE_DUMMY_ALPHABET (
codeset
) `{ ALPHABET_TAILORED , (codeset), 0, 0, NULL , 0, NULL , false }`
define LOCALE_NULL_CALENDAR_NAMES
#define LOCALE_NULL_CALENDAR_NAMES `{ NULL }, { NULL }, { NULL }, { NULL }, { NULL }, \ NULL , NULL , NULL , NULL , NULL`
#define LOCALE_NULL_DATE_FORMATS `NULL , NULL , NULL , NULL , NULL , NULL`
define PAD
#define PAD `' ' /* str_pad_char ( INTL_CODESET_ISO88591 , pad , & pad_size ) */`
define SHLIB_GET_ADDR
#define SHLIB_GET_ADDR (
v,
SYM_NAME,
SYM_TYPE,
lh,
LOC_NAME
) `/* multi line expression */`
define SHLIB_GET_ADDR_W_REF
#define SHLIB_GET_ADDR_W_REF (
v,
SYM_NAME,
SYM_TYPE,
lh,
LOC_NAME
) `/* multi line expression */`
define SHLIB_GET_VAL
#define SHLIB_GET_VAL (
v,
SYM_NAME,
SYM_TYPE,
lh,
LOC_NAME
) `/* multi line expression */`
define SPACE
#define SPACE `PAD /* smallest character in the collation sequence */`
define ZERO
#define ZERO `'\0' /* space is treated as zero */`
The documentation for this class was generated from the following file cubrid/src/base/language_support.c