CUBRID Engine  latest
language_support.c File Reference
#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 "authenticate.h"
#include "db.h"
#include "dbtype.h"
Include dependency graph for language_support.c:

Go to the source code of this file.

Classes

struct  lang_defaults
 

Macros

#define PAD   ' ' /* str_pad_char(INTL_CODESET_ISO88591, pad, &pad_size) */
 
#define SPACE   PAD /* smallest character in the collation sequence */
 
#define ZERO   '\0' /* space is treated as zero */
 
#define EUC_SPACE   0xa1 /* for euckr */
 
#define ASCII_SPACE   0x20
 
#define LANG_CHAR_COUNT_EN   256
 
#define LANG_CHAR_COUNT_TR   352
 
#define LANG_COLL_GENERIC_SORT_OPT
 
#define LANG_COLL_NO_EXP   0, NULL, NULL, NULL
 
#define LANG_COLL_NO_CONTR   NULL, 0, 0, NULL, 0, 0
 
#define LANG_NO_NORMALIZATION   {NULL, 0, NULL, NULL, 0}
 
#define DEFAULT_COLL_OPTIONS   {true, true, true}
 
#define CI_COLL_OPTIONS   {false, false, true}
 
#define LOCALE_DUMMY_ALPHABET(codeset)   {ALPHABET_TAILORED, (codeset), 0, 0, NULL, 0, NULL, false}
 
#define LOCALE_NULL_DATE_FORMATS   NULL, NULL, NULL, NULL, NULL, NULL
 
#define LOCALE_NULL_CALENDAR_NAMES
 
#define LANG_W_MAP_COUNT_EN   256
 
#define ADD_TO_HASH(pseudo_key, w)
 
#define GET_UCA_WEIGHT(l, i, l13w, l4w)
 
#define INTL_CONTR_FOUND(v)   (((v) & INTL_MASK_CONTR) == INTL_MASK_CONTR)
 
#define GET_SYM_ADDR(lib, sym)   dlsym(lib, sym)
 
#define SHLIB_GET_ADDR(v, SYM_NAME, SYM_TYPE, lh, LOC_NAME)
 
#define SHLIB_GET_ADDR_W_REF(v, SYM_NAME, SYM_TYPE, lh, LOC_NAME)
 
#define SHLIB_GET_VAL(v, SYM_NAME, SYM_TYPE, lh, LOC_NAME)
 

Typedefs

typedef struct lang_defaults LANG_DEFAULTS
 

Functions

static int set_current_locale (void)
 
static int set_msg_lang_from_env (void)
 
static int check_env_lang_val (char *env_val, char *lang_name, char **charset_ptr, INTL_CODESET *codeset)
 
static void set_default_lang (void)
 
static void lang_unload_libraries (void)
 
static void destroy_user_locales (void)
 
static int init_user_locales (void)
 
static LANG_LOCALE_DATAfind_lang_locale_data (const char *name, const INTL_CODESET codeset, LANG_LOCALE_DATA **last_lang_locale)
 
static int register_lang_locale_data (LANG_LOCALE_DATA *lld)
 
static void free_lang_locale_data (LANG_LOCALE_DATA *lld)
 
static int register_collation (LANG_COLLATION *coll)
 
static bool lang_is_codeset_allowed (const INTL_LANG intl_id, const INTL_CODESET codeset)
 
static int lang_get_builtin_lang_id_from_name (const char *lang_name, INTL_LANG *lang_id)
 
static INTL_CODESET lang_get_default_codeset (const INTL_LANG intl_id)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
static COLL_CONTRACTIONlang_get_contr_for_string (const COLL_DATA *coll_data, const unsigned char *str, const int str_size, unsigned int cp)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
static int lang_str_utf8_trail_zero_weights (const LANG_COLLATION *lang_coll, const unsigned char *str, int size)
 
static int lang_str_utf8_trail_zero_weights_w_exp (const COLL_DATA *coll_data, const int level, const unsigned char *str, int size)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
static unsigned int lang_mht2str_byte (const LANG_COLLATION *lang_coll, const unsigned char *str, const int size)
 
static unsigned int lang_mht2str_default (const LANG_COLLATION *lang_coll, const unsigned char *str, const int size)
 
static unsigned int lang_mht2str_utf8 (const LANG_COLLATION *lang_coll, const unsigned char *str, const int size)
 
static unsigned int lang_mht2str_utf8_exp (const LANG_COLLATION *lang_coll, const unsigned char *str, const int size)
 
static unsigned int lang_mht2str_ko (const LANG_COLLATION *lang_coll, const unsigned char *str, const int size)
 
static void lang_init_coll_en_ci (LANG_COLLATION *lang_coll)
 
static void lang_init_coll_en_cs (LANG_COLLATION *lang_coll)
 
static void lang_init_coll_Utf8_tr_cs (LANG_COLLATION *lang_coll)
 
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)
 
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)
 
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)
 
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)
 
static int lang_locale_load_normalization_from_lib (UNICODE_NORMALIZATION *norm, void *lib_handle, const LOCALE_FILE *lf)
 
static void lang_free_collations (void)
 
static void lang_initloc_en_iso88591 (LANG_LOCALE_DATA *ld)
 
static void lang_initloc_en_binary (LANG_LOCALE_DATA *ld)
 
static void lang_init_common_en_cs (COLL_DATA *coll_data)
 
static void lang_init_common_en_ci (COLL_DATA *coll_data)
 
static void lang_initloc_en_utf8 (LANG_LOCALE_DATA *ld)
 
static void lang_initloc_tr_iso (LANG_LOCALE_DATA *ld)
 
static void lang_initloc_ko_iso (LANG_LOCALE_DATA *ld)
 
static void lang_initloc_ko_utf8 (LANG_LOCALE_DATA *ld)
 
static void lang_initloc_ko_euc (LANG_LOCALE_DATA *ld)
 
static void lang_initloc_tr_utf8 (LANG_LOCALE_DATA *ld)
 
void lang_init_builtin (void)
 
int lang_init (void)
 
void lang_init_console_txt_conv (void)
 
int lang_set_charset_lang (const char *lang_charset)
 
int lang_set_charset (const INTL_CODESET codeset)
 
int lang_set_language (const char *lang_str)
 
int lang_locales_count (bool check_codeset)
 
bool lang_is_coll_name_allowed (const char *name)
 
LANG_COLLATIONlang_get_collation (const int coll_id)
 
const char * lang_get_collation_name (const int coll_id)
 
LANG_COLLATIONlang_get_collation_by_name (const char *coll_name)
 
int lang_collation_count (void)
 
const char * lang_get_codeset_name (int codeset_id)
 
const ALPHABET_DATAlang_user_alphabet_w_coll (const int collation_id)
 
const char * lang_get_msg_Loc_name (void)
 
const char * lang_get_Lang_name (void)
 
INTL_LANG lang_id (void)
 
DB_CURRENCY lang_currency ()
 
DB_CURRENCY lang_locale_currency (const char *locale_str)
 
INTL_CODESET lang_charset (void)
 
void lang_final (void)
 
const char * lang_currency_symbol (DB_CURRENCY curr)
 
bool lang_check_identifier (const char *name, int length)
 
const LANG_LOCALE_DATAlang_locale (void)
 
const LANG_LOCALE_DATAlang_get_specific_locale (const INTL_LANG lang, const INTL_CODESET codeset)
 
const LANG_LOCALE_DATAlang_get_first_locale_for_lang (const INTL_LANG 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)
 
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)
 
INTL_LANG lang_get_lang_id_from_flag (const int flag, bool *has_user_format, bool *has_user_lang)
 
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_grouping_symbol (const INTL_LANG lang_id)
 
char lang_digit_fractional_symbol (const INTL_LANG lang_id)
 
TEXT_CONVERSIONlang_get_txt_conv (void)
 
const char * lang_charset_name (const INTL_CODESET codeset)
 
const char * lang_charset_cubrid_name (const INTL_CODESET codeset)
 
int lang_get_charset_env_string (char *buf, int buf_size, const char *lang_name, const INTL_CODESET codeset)
 
int lang_db_put_charset (void)
 
int lang_charset_name_to_id (const char *name, INTL_CODESET *codeset)
 
INTL_CODESET lang_get_client_charset (void)
 
int lang_get_client_collation (void)
 
void lang_set_parser_use_client_charset (bool use)
 
bool lang_get_parser_use_client_charset (void)
 
INTL_CODESET lang_charset_cubrid_name_to_id (const char *name)
 
const char * lang_charset_introducer (const INTL_CODESET codeset)
 
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_locale_data_load_from_lib (LANG_LOCALE_DATA *lld, void *lib_handle, const LOCALE_FILE *lf, bool is_load_for_dump)
 
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_coll_from_lib (COLL_DATA *cd, void *lib_handle, const LOCALE_FILE *lf)
 
int lang_load_library (const char *lib_file, void **handle)
 
UNICODE_NORMALIZATIONlang_get_generic_unicode_norm (void)
 
void lang_set_generic_unicode_norm (UNICODE_NORMALIZATION *norm)
 
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_check_locale_compat (const LANG_LOCALE_COMPAT *loc_array, const int loc_cnt, const char *client_text, const char *server_text)
 

Variables

static INTL_LANG lang_Lang_id = INTL_LANG_ENGLISH
 
static char lang_Loc_name [LANG_MAX_LANGNAME] = LANG_NAME_DEFAULT
 
static char lang_Msg_loc_name [LANG_MAX_LANGNAME] = LANG_NAME_DEFAULT
 
static char lang_Lang_name [LANG_MAX_LANGNAME] = LANG_NAME_DEFAULT
 
static DB_CURRENCY lang_Loc_currency = DB_CURRENCY_DOLLAR
 
INTL_CODESET lang_Loc_charset = INTL_CODESET_ISO88591
 
LANG_COLLATIONlang_Collations [LANG_MAX_COLLATIONS] = { NULL }
 
static unsigned int lang_Weight_EN_cs [LANG_CHAR_COUNT_EN]
 
static unsigned int lang_Next_alpha_char_EN_cs [LANG_CHAR_COUNT_EN]
 
static unsigned int lang_Weight_EN_ci [LANG_CHAR_COUNT_EN]
 
static unsigned int lang_Next_alpha_char_EN_ci [LANG_CHAR_COUNT_EN]
 
static unsigned int lang_Weight_EN_cs_ti [LANG_CHAR_COUNT_EN]
 
static unsigned int lang_Next_alpha_char_EN_cs_ti [LANG_CHAR_COUNT_EN]
 
static unsigned int lang_Weight_EN_ci_ti [LANG_CHAR_COUNT_EN]
 
static unsigned int lang_Next_alpha_char_EN_ci_ti [LANG_CHAR_COUNT_EN]
 
static unsigned int lang_Weight_TR [LANG_CHAR_COUNT_TR]
 
static unsigned int lang_Next_alpha_char_TR [LANG_CHAR_COUNT_TR]
 
static unsigned int lang_Weight_TR_ti [LANG_CHAR_COUNT_TR]
 
static unsigned int lang_Next_alpha_char_TR_ti [LANG_CHAR_COUNT_TR]
 
static bool lang_Builtin_initialized = false
 
static bool lang_Initialized = false
 
static bool lang_Init_w_error = false
 
static bool lang_Charset_initialized = false
 
static bool lang_Language_initialized = false
 
static bool lang_Msg_env_initialized = false
 
LANG_DEFAULTS builtin_Langs []
 
static unsigned int lang_upper_TR [LANG_CHAR_COUNT_TR]
 
static unsigned int lang_lower_TR [LANG_CHAR_COUNT_TR]
 
static unsigned int lang_upper_i_TR [LANG_CHAR_COUNT_TR]
 
static unsigned int lang_lower_i_TR [LANG_CHAR_COUNT_TR]
 
static char lang_time_format_TR [] = "HH24:MI:SS"
 
static char lang_date_format_TR [] = "DD.MM.YYYY"
 
static char lang_datetime_format_TR [] = "HH24:MI:SS.FF DD.MM.YYYY"
 
static char lang_timestamp_format_TR [] = "HH24:MI:SS DD.MM.YYYY"
 
static char lang_datetimetz_format_TR [] = "HH24:MI:SS.FF DD.MM.YYYY TZR"
 
static char lang_timestamptz_format_TR [] = "HH24:MI:SS DD.MM.YYYY TZR"
 
static void ** loclib_Handle = NULL
 
static int loclib_Handle_size = 0
 
static int loclib_Handle_count = 0
 
static TEXT_CONVERSIONconsole_Conv = NULL
 
TEXT_CONVERSION con_Iso_8859_1_conv
 
TEXT_CONVERSION con_Iso_8859_9_conv
 
static LANG_LOCALE_DATAlang_Loaded_locales [LANG_MAX_LOADED_LOCALES] = { NULL }
 
static int lang_Count_locales = 0
 
static int lang_Count_collations = 0
 
static UNICODE_NORMALIZATIONgeneric_Unicode_norm = NULL
 
static const DB_CHARSET lang_Db_charsets []
 
static unsigned int lang_upper_EN [LANG_CHAR_COUNT_EN]
 
static unsigned int lang_lower_EN [LANG_CHAR_COUNT_EN]
 
static int lang_w_map_EN [LANG_W_MAP_COUNT_EN]
 
static LANG_COLLATION coll_Utf8_en_cs
 
static LANG_COLLATION coll_Iso88591_en_cs
 
static LANG_LOCALE_DATA lc_English_iso88591
 
static LANG_LOCALE_DATA lc_English_utf8
 
static LANG_LOCALE_DATA lc_Turkish_iso88591
 
static LANG_LOCALE_DATA lc_Korean_iso88591
 
static LANG_COLLATION coll_Utf8_ko_cs
 
static LANG_LOCALE_DATA lc_Korean_utf8
 
static LANG_COLLATION coll_Euckr_bin
 
static LANG_LOCALE_DATA lc_Korean_euckr
 
static LANG_COLLATION coll_Binary
 
static LANG_LOCALE_DATA lc_English_binary
 
static LANG_LOCALE_DATAlang_Loc_data = &lc_English_iso88591
 
static LANG_COLLATION coll_Iso_binary
 
static LANG_COLLATION coll_Utf8_binary
 
static LANG_COLLATION coll_Iso88591_en_ci
 
static LANG_COLLATION coll_Utf8_en_ci
 
static LANG_COLLATION coll_Utf8_tr_cs
 
static LANG_LOCALE_DATA lc_Turkish_utf8
 
static LANG_COLLATIONbuilt_In_collations []
 
static bool lang_Parser_use_client_charset = true
 
static UCA_L13_W uca_l13_max_weight = 0xffffffff
 
static UCA_L4_W uca_l4_max_weight = 0xffff
 

Macro Definition Documentation

#define ADD_TO_HASH (   pseudo_key,
 
)
Value:
do { \
unsigned int i; \
pseudo_key = (pseudo_key << 4) + w; \
i = pseudo_key & 0xf0000000; \
if (i != 0) \
{ \
pseudo_key ^= i >> 24; \
pseudo_key ^= i; \
} \
} while (0)
if(extra_options)
Definition: dynamic_load.c:958
int i
Definition: dynamic_load.c:954

Definition at line 3178 of file language_support.c.

Referenced by lang_mht2str_byte(), lang_mht2str_ko(), lang_mht2str_utf8(), and lang_mht2str_utf8_exp().

#define CI_COLL_OPTIONS   {false, false, true}

Definition at line 101 of file language_support.c.

#define DEFAULT_COLL_OPTIONS   {true, true, true}

Definition at line 100 of file language_support.c.

#define EUC_SPACE   0xa1 /* for euckr */
#define GET_SYM_ADDR (   lib,
  sym 
)    dlsym(lib, sym)

Definition at line 6701 of file language_support.c.

#define GET_UCA_WEIGHT (   l,
  i,
  l13w,
  l4w 
)
Value:
((l == 0) ? (UCA_GET_L1_W (l13w[i])) : \
(l == 1) ? (UCA_GET_L2_W (l13w[i])) : \
(l == 2) ? (UCA_GET_L3_W (l13w[i])) : (l4w[i]))
#define UCA_GET_L1_W(v)
#define UCA_GET_L2_W(v)
int i
Definition: dynamic_load.c:954
#define UCA_GET_L3_W(v)

Definition at line 3574 of file language_support.c.

Referenced by lang_mht2str_utf8_exp(), lang_str_utf8_trail_zero_weights_w_exp(), and lang_strmatch_utf8_uca_w_level().

#define INTL_CONTR_FOUND (   v)    (((v) & INTL_MASK_CONTR) == INTL_MASK_CONTR)
#define LANG_CHAR_COUNT_EN   256

Definition at line 71 of file language_support.c.

Referenced by lang_initloc_en_utf8().

#define LANG_CHAR_COUNT_TR   352

Definition at line 72 of file language_support.c.

Referenced by lang_init_coll_Utf8_tr_cs(), and lang_initloc_tr_utf8().

#define LANG_COLL_GENERIC_SORT_OPT
#define LANG_COLL_NO_CONTR   NULL, 0, 0, NULL, 0, 0

Definition at line 78 of file language_support.c.

#define LANG_COLL_NO_EXP   0, NULL, NULL, NULL

Definition at line 77 of file language_support.c.

#define LANG_NO_NORMALIZATION   {NULL, 0, NULL, NULL, 0}

Definition at line 80 of file language_support.c.

#define LANG_W_MAP_COUNT_EN   256

Definition at line 321 of file language_support.c.

#define LOCALE_DUMMY_ALPHABET (   codeset)    {ALPHABET_TAILORED, (codeset), 0, 0, NULL, 0, NULL, false}

Definition at line 190 of file language_support.c.

#define LOCALE_NULL_CALENDAR_NAMES
Value:
{NULL}, {NULL}, {NULL}, {NULL}, {NULL}, \
#define NULL
Definition: freelistheap.h:34

Definition at line 196 of file language_support.c.

#define LOCALE_NULL_DATE_FORMATS   NULL, NULL, NULL, NULL, NULL, NULL

Definition at line 193 of file language_support.c.

#define PAD   ' ' /* str_pad_char(INTL_CODESET_ISO88591, pad, &pad_size) */

Definition at line 54 of file language_support.c.

#define SHLIB_GET_ADDR (   v,
  SYM_NAME,
  SYM_TYPE,
  lh,
  LOC_NAME 
)
Value:
do { \
if (snprintf (sym_name, LOC_LIB_SYMBOL_NAME_SIZE - 1, "" SYM_NAME "_%s", LOC_NAME) < 0) \
goto error_loading_symbol; \
v = (SYM_TYPE) GET_SYM_ADDR (lh, sym_name); \
if (v == NULL) \
{ \
goto error_loading_symbol; \
} \
} while (0)
#define LOC_LIB_SYMBOL_NAME_SIZE
#define NULL
Definition: freelistheap.h:34
if(extra_options)
Definition: dynamic_load.c:958
#define GET_SYM_ADDR(lib, sym)

Definition at line 6704 of file language_support.c.

Referenced by lang_load_coll_from_lib(), lang_load_get_coll_name_from_lib(), lang_locale_data_load_from_lib(), lang_locale_load_alpha_from_lib(), and lang_locale_load_normalization_from_lib().

#define SHLIB_GET_ADDR_W_REF (   v,
  SYM_NAME,
  SYM_TYPE,
  lh,
  LOC_NAME 
)
Value:
do { \
snprintf (sym_name, LOC_LIB_SYMBOL_NAME_SIZE, "" SYM_NAME "_ref_%s", \
LOC_NAME); \
temp_char_sym = (char *) GET_SYM_ADDR (lh, sym_name); \
if (temp_char_sym == NULL) \
{ \
goto error_loading_symbol; \
} \
strcpy (sym_name, temp_char_sym); \
v = (SYM_TYPE) GET_SYM_ADDR (lh, sym_name); \
if (v == NULL) \
{ \
goto error_loading_symbol; \
} \
} while (0)
#define LOC_LIB_SYMBOL_NAME_SIZE
#define NULL
Definition: freelistheap.h:34
if(extra_options)
Definition: dynamic_load.c:958
#define GET_SYM_ADDR(lib, sym)

Definition at line 6715 of file language_support.c.

Referenced by lang_load_coll_from_lib().

#define SHLIB_GET_VAL (   v,
  SYM_NAME,
  SYM_TYPE,
  lh,
  LOC_NAME 
)
Value:
do { \
SYM_TYPE* aux; \
SHLIB_GET_ADDR(aux, SYM_NAME, SYM_TYPE*, lh, LOC_NAME); \
v = *aux; \
} while (0);
#define SHLIB_GET_ADDR(v, SYM_NAME, SYM_TYPE, lh, LOC_NAME)

Definition at line 6732 of file language_support.c.

Referenced by lang_load_coll_from_lib(), lang_load_count_coll_from_lib(), lang_locale_data_load_from_lib(), lang_locale_load_alpha_from_lib(), and lang_locale_load_normalization_from_lib().

#define SPACE   PAD /* smallest character in the collation sequence */
#define ZERO   '\0' /* space is treated as zero */

Typedef Documentation

typedef struct lang_defaults LANG_DEFAULTS

Definition at line 111 of file language_support.c.

Function Documentation

static void destroy_user_locales ( void  )
static

Definition at line 7389 of file language_support.c.

References assert, free_lang_locale_data(), i, lang_Count_locales, and NULL.

Referenced by init_user_locales(), and lang_final().

Here is the caller graph for this function:

static LANG_LOCALE_DATA * find_lang_locale_data ( const char *  name,
const INTL_CODESET  codeset,
LANG_LOCALE_DATA **  last_lang_locale 
)
static

Definition at line 1761 of file language_support.c.

References assert, lang_locale_data::codeset, i, lang_Count_locales, lang_defaults::lang_name, lang_locale_data::next_lld, and NULL.

Referenced by init_user_locales(), and register_lang_locale_data().

Here is the caller graph for this function:

static void free_lang_locale_data ( LANG_LOCALE_DATA lld)
static

Definition at line 1860 of file language_support.c.

References assert, text_conversion::init_conv_func, lang_locale_data::is_user_data, lang_locale_data::next_lld, NULL, and lang_locale_data::txt_conv.

Referenced by destroy_user_locales().

Here is the caller graph for this function:

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 
)
static
INTL_CODESET lang_charset_cubrid_name_to_id ( const char *  name)

Definition at line 2775 of file language_support.c.

References INTL_CODESET_BINARY, INTL_CODESET_LAST, and INTL_CODESET_NONE.

Referenced by pt_check_grammar_charset_collation().

Here is the caller graph for this function:

const char* lang_charset_introducer ( const INTL_CODESET  codeset)
int lang_charset_name_to_id ( const char *  name,
INTL_CODESET codeset 
)

Definition at line 2683 of file language_support.c.

References db_charset::charset_id, ER_FAILED, i, INTL_CODESET_NONE, and NO_ERROR.

bool lang_check_identifier ( const char *  name,
int  length 
)

Definition at line 2101 of file language_support.c.

References char_isalnum(), char_isalpha(), i, and NULL.

Referenced by pt_append_name().

Here is the caller graph for this function:

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  )

Definition at line 1704 of file language_support.c.

References lang_Count_collations.

Referenced by boot_add_charsets(), boot_add_collations(), sboot_get_locales_info(), and synccoll_check().

Here is the caller graph for this function:

DB_CURRENCY lang_currency ( void  )

Definition at line 1935 of file language_support.c.

References assert, DB_CURRENCY_NULL, lang_Language_initialized, and lang_Loc_currency.

Referenced by db_get_currency_default(), and lang_locale_currency().

Here is the caller graph for this function:

const char* lang_currency_symbol ( DB_CURRENCY  curr)

Definition at line 2016 of file language_support.c.

References intl_get_money_symbol_console(), lang_charset(), LANG_VARIABLE_CHARSET, and p.

Referenced by tp_value_cast_internal(), and valcnv_convert_data_to_string().

Here is the caller graph for this function:

int lang_db_put_charset ( void  )

Definition at line 2643 of file language_support.c.

References assert, AU_DISABLE, AU_ENABLE, Au_root, db_make_int(), db_make_string(), db_put_internal(), lang_charset(), lang_get_lang_name_from_id(), lang_id(), NO_ERROR, and pr_clear_value().

Referenced by createdb().

Here is the caller graph for this function:

char lang_digit_grouping_symbol ( const INTL_LANG  lang_id)
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 
)
static

Definition at line 6458 of file language_support.c.

References i.

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 
)
static
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 
)
static
static void lang_free_collations ( void  )
static

Definition at line 7461 of file language_support.c.

References assert, i, lang_Count_collations, LANG_MAX_COLLATIONS, and NULL.

Referenced by init_user_locales(), and lang_final().

Here is the caller graph for this function:

static int lang_get_builtin_lang_id_from_name ( const char *  lang_name,
INTL_LANG lang_id 
)
static

Definition at line 2213 of file language_support.c.

References assert, i, INTL_LANG_ENGLISH, INTL_LANG_USER_DEF_START, lang_defaults::lang, NULL, and strlen.

Referenced by lang_set_charset_lang().

Here is the caller graph for this function:

int lang_get_charset_env_string ( char *  buf,
int  buf_size,
const char *  lang_name,
const INTL_CODESET  codeset 
)

Definition at line 2611 of file language_support.c.

References assert_release, ER_FAILED, INTL_CODESET_ISO88591, lang_charset_cubrid_name(), NO_ERROR, and NULL.

Referenced by lang_set_language().

Here is the caller graph for this function:

INTL_CODESET lang_get_client_charset ( void  )
int lang_get_client_collation ( void  )
const char* lang_get_codeset_name ( int  codeset_id)
LANG_COLLATION* lang_get_collation_by_name ( const char *  coll_name)
static INTL_CODESET lang_get_default_codeset ( const INTL_LANG  intl_id)
static

Definition at line 2476 of file language_support.c.

References builtin_Langs, lang_defaults::codeset, i, INTL_CODESET_NONE, and lang_defaults::lang.

Referenced by lang_set_charset_lang().

Here is the caller graph for this function:

const LANG_LOCALE_DATA* lang_get_first_locale_for_lang ( const INTL_LANG  lang)

Definition at line 2186 of file language_support.c.

References assert, lang_defaults::lang, lang_Charset_initialized, lang_Count_locales, lang_Language_initialized, and NULL.

Referenced by lang_date_format_parse(), and sboot_get_locales_info().

Here is the caller graph for this function:

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 
)

Definition at line 2245 of file language_support.c.

References assert, i, INTL_LANG_ENGLISH, lang_Count_locales, lang_locale_data::lang_id, and NULL.

Referenced by lang_set_flag_from_lang(), set_current_locale(), and sysprm_generate_new_value().

Here is the caller graph for this function:

const char* lang_get_Lang_name ( void  )
const char* lang_get_msg_Loc_name ( void  )

Definition at line 1889 of file language_support.c.

References lang_Msg_env_initialized, lang_Msg_loc_name, and set_msg_lang_from_env().

Referenced by msgcat_open(), and msgcat_open_file().

Here is the caller graph for this function:

bool lang_get_parser_use_client_charset ( void  )

Definition at line 2761 of file language_support.c.

References lang_Parser_use_client_charset.

TEXT_CONVERSION* lang_get_txt_conv ( void  )

Definition at line 2549 of file language_support.c.

References console_Conv.

Referenced by intl_text_dbcs_to_utf8(), intl_text_single_byte_to_utf8(), intl_text_utf8_to_dbcs(), intl_text_utf8_to_single_byte(), and start_csql().

Here is the caller graph for this function:

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 
)
static
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 
)
static
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 
)
static
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 
)
static
void lang_init_builtin ( void  )

Definition at line 854 of file language_support.c.

References coll_Iso_binary, i, lang_Builtin_initialized, LANG_MAX_COLLATIONS, register_collation(), register_lang_locale_data(), and set_msg_lang_from_env().

Referenced by genlocale(), and lang_init().

Here is the caller graph for this function:

static void lang_init_coll_en_ci ( LANG_COLLATION lang_coll)
static
static void lang_init_coll_en_cs ( LANG_COLLATION lang_coll)
static
static void lang_init_common_en_ci ( COLL_DATA coll_data)
static

Definition at line 5356 of file language_support.c.

References i, coll_data::next_cp, coll_data::next_cp_ti, coll_data::w_count, coll_data::weights, and coll_data::weights_ti.

Referenced by lang_init_coll_en_ci().

Here is the caller graph for this function:

static void lang_init_common_en_cs ( COLL_DATA coll_data)
static

Definition at line 5326 of file language_support.c.

References i, coll_data::next_cp, coll_data::next_cp_ti, coll_data::w_count, coll_data::weights, and coll_data::weights_ti.

Referenced by lang_init_coll_en_cs().

Here is the caller graph for this function:

void lang_init_console_txt_conv ( void  )

Definition at line 936 of file language_support.c.

References assert, text_conversion::init_conv_func, lang_Initialized, text_conversion::nl_lang_str, NULL, strlen, lang_locale_data::txt_conv, and text_conversion::win_codepages.

Referenced by csql().

Here is the caller graph for this function:

static void lang_initloc_en_binary ( LANG_LOCALE_DATA ld)
static
static void lang_initloc_en_iso88591 ( LANG_LOCALE_DATA ld)
static
static void lang_initloc_ko_euc ( LANG_LOCALE_DATA ld)
static
static void lang_initloc_ko_iso ( LANG_LOCALE_DATA ld)
static

Definition at line 6044 of file language_support.c.

References assert, lang_locale_data::is_initialized, and NULL.

static void lang_initloc_ko_utf8 ( LANG_LOCALE_DATA ld)
static
static void lang_initloc_tr_iso ( LANG_LOCALE_DATA ld)
static

Definition at line 5943 of file language_support.c.

References assert, lang_locale_data::is_initialized, and NULL.

static bool lang_is_codeset_allowed ( const INTL_LANG  intl_id,
const INTL_CODESET  codeset 
)
static

Definition at line 2500 of file language_support.c.

References builtin_Langs, i, and lang_defaults::lang.

Referenced by lang_set_charset_lang().

Here is the caller graph for this function:

bool lang_is_coll_name_allowed ( const char *  name)

Definition at line 1622 of file language_support.c.

References i, and NULL.

Referenced by locale_compile_locale().

Here is the caller graph for this function:

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 
)

Definition at line 7315 of file language_support.c.

References assert, ER_LOC_INIT, ERR_MSG_SIZE, error(), LOG_LOCALE_ERROR, NO_ERROR, and NULL.

Referenced by dumplocale(), and init_user_locales().

Here is the caller graph for this function:

DB_CURRENCY lang_locale_currency ( const char *  locale_str)

Definition at line 1950 of file language_support.c.

References assert, DB_CURRENCY_NULL, lang_locale_data::default_currency_code, i, lang_Count_locales, lang_currency(), lang_Language_initialized, and lang_defaults::lang_name.

Referenced by number_to_char().

Here is the caller graph for this function:

int lang_locale_data_load_from_lib ( LANG_LOCALE_DATA lld,
void *  lib_handle,
const LOCALE_FILE lf,
bool  is_load_for_dump 
)

Definition at line 6750 of file language_support.c.

References alphabet_data::a_type, coll_opt::allow_index_opt, coll_opt::allow_like_rewrite, coll_opt::allow_prefix_index, lang_locale_data::alphabet, ALPHABET_ASCII, ALPHABET_TAILORED, ALPHABET_UNICODE, lang_locale_data::am_pm, lang_locale_data::am_pm_parse_order, ARG_FILE_LINE, assert, lang_collation::built_in, text_conversion::byte_flag, CAL_AM_PM_COUNT, CAL_DAY_COUNT, CAL_MONTH_COUNT, lang_locale_data::checksum, lang_collation::codeset, lang_collation::coll, coll_data::coll_name, con_Iso_8859_1_conv, con_Iso_8859_9_conv, text_conversion::conv_type, coll_data::count_contr, lang_locale_data::date_format, lang_locale_data::datetime_format, lang_locale_data::datetimetz_format, lang_locale_data::day_name, lang_locale_data::day_parse_order, lang_locale_data::day_short_name, lang_locale_data::day_short_parse_order, lang_locale_data::default_currency_code, lang_collation::default_lang, lang_locale_data::default_lang_coll, ER_ERROR_SEVERITY, ER_LOC_INIT, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), ERR_MSG_SIZE, lang_collation::fastcmp, i, lang_locale_data::ident_alphabet, INTL_CODESET_UTF8, lang_get_collation_by_name(), lang_load_coll_from_lib(), lang_load_count_coll_from_lib(), lang_load_get_coll_name_from_lib(), lang_locale_load_alpha_from_lib(), lang_locale_load_normalization_from_lib(), lang_mht2str_utf8(), lang_mht2str_utf8_exp(), lang_locale_data::lang_name, lang_next_coll_char_utf8(), lang_next_coll_seq_utf8_w_contr(), lang_split_key_utf8(), lang_split_key_w_exp(), lang_strcmp_utf8(), lang_strcmp_utf8_uca(), lang_strcmp_utf8_w_contr(), lang_strmatch_utf8(), lang_strmatch_utf8_uca(), lang_strmatch_utf8_w_contr(), locale_file::lib_file, LOC_LIB_SYMBOL_NAME_SIZE, locale_file::locale_name, LOG_LOCALE_ERROR, lang_collation::mht2str, lang_locale_data::month_name, lang_locale_data::month_parse_order, lang_locale_data::month_short_name, lang_locale_data::month_short_parse_order, lang_collation::next_coll_seq, text_conversion::nl_lang_str, NO_ERROR, NULL, lang_locale_data::number_decimal_sym, lang_locale_data::number_group_sym, lang_collation::options, register_collation(), uca_options::sett_strength, SHLIB_GET_ADDR, SHLIB_GET_VAL, lang_collation::split_key, strlen, lang_collation::strmatch, TAILOR_QUATERNARY, TEXT_CONV_GENERIC_1BYTE, TEXT_CONV_GENERIC_2BYTE, TEXT_CONV_ISO_88591_BUILTIN, TEXT_CONV_ISO_88599_BUILTIN, TEXT_CONV_NO_CONVERSION, text_conversion::text_first_cp, text_conversion::text_last_cp, text_conversion::text_to_utf8, lang_locale_data::time_format, lang_locale_data::timestamp_format, lang_locale_data::timestamptz_format, lang_locale_data::txt_conv, coll_data::uca_exp_num, coll_data::uca_opt, lang_locale_data::unicode_norm, text_conversion::utf8_first_cp, text_conversion::utf8_last_cp, text_conversion::utf8_to_text, and text_conversion::win_codepages.

Referenced by dumplocale(), and init_user_locales().

Here is the caller graph for this function:

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 
)
static
int lang_locales_count ( bool  check_codeset)

Definition at line 1347 of file language_support.c.

References cubregex::count(), i, lang_Count_locales, lang_locale_data::next_lld, and NULL.

Referenced by sboot_get_locales_info().

Here is the caller graph for this function:

static unsigned int lang_mht2str_byte ( const LANG_COLLATION lang_coll,
const unsigned char *  str,
const int  size 
)
static

Definition at line 5714 of file language_support.c.

References ADD_TO_HASH, lang_collation::coll, and coll_data::weights.

static unsigned int lang_mht2str_default ( const LANG_COLLATION lang_coll,
const unsigned char *  str,
const int  size 
)
static

Definition at line 5700 of file language_support.c.

References mht_2str_pseudo_key().

static unsigned int lang_mht2str_ko ( const LANG_COLLATION lang_coll,
const unsigned char *  str,
const int  size 
)
static

Definition at line 6205 of file language_support.c.

References ADD_TO_HASH, ASCII_SPACE, assert, EUC_SPACE, and ZERO.

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 
)
static

Definition at line 5740 of file language_support.c.

References assert, and NULL.

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 
)
static

Definition at line 6422 of file language_support.c.

References assert, intl_char_size(), INTL_CODESET_KSC5601_EUC, and NULL.

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 
)
static
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 
)
static

Definition at line 4596 of file language_support.c.

References assert, lang_collation::coll, intl_cp_to_utf8(), intl_utf8_to_cp(), coll_data::next_cp, coll_data::next_cp_ti, NULL, and coll_data::w_count.

Referenced by lang_locale_data_load_from_lib().

Here is the caller graph for this function:

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 
)
static
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 
)

Definition at line 2341 of file language_support.c.

References INTL_LANG_ENGLISH, and lang_Count_locales.

Referenced by lang_set_flag_from_lang().

Here is the caller graph for this function:

void lang_set_generic_unicode_norm ( UNICODE_NORMALIZATION norm)

Definition at line 7452 of file language_support.c.

Referenced by init_user_locales(), and lang_final().

Here is the caller graph for this function:

int lang_set_language ( const char *  lang_str)
void lang_set_parser_use_client_charset ( bool  use)

Definition at line 2750 of file language_support.c.

References lang_Parser_use_client_charset.

Referenced by au_find_user(), do_run_update_query_for_class(), parser_parse_string_use_sys_charset(), and sch_query_execute().

Here is the caller graph for this function:

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 
)
static

Definition at line 6625 of file language_support.c.

References assert, CAST_BUFLEN, NO_ERROR, and NULL.

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 
)
static
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 
)
static
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 
)
static
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 
)
static

Definition at line 4899 of file language_support.c.

References assert, CAST_BUFLEN, lang_collation::coll, lang_get_w_first_el(), NO_ERROR, and NULL.

Referenced by lang_locale_data_load_from_lib().

Here is the caller graph for this function:

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 
)
static

Definition at line 5001 of file language_support.c.

References ASCII_SPACE, assert, CAST_BUFLEN, lang_collation::coll, lang_get_uca_w_l13(), NO_ERROR, NULL, and UCA_GET_L1_W.

Referenced by lang_locale_data_load_from_lib().

Here is the caller graph for this function:

static int lang_str_utf8_trail_zero_weights ( const LANG_COLLATION lang_coll,
const unsigned char *  str,
int  size 
)
static
static int lang_str_utf8_trail_zero_weights_w_exp ( const COLL_DATA coll_data,
const int  level,
const unsigned char *  str,
int  size 
)
static

Definition at line 4537 of file language_support.c.

References assert, CAST_BUFLEN, GET_UCA_WEIGHT, lang_get_uca_w_l13(), lang_get_uca_w_l4(), and NULL.

Referenced by lang_strmatch_utf8_uca_w_level().

Here is the caller graph for this function:

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 
)
static

Definition at line 2828 of file language_support.c.

References lang_strmatch_utf8(), and NULL.

Referenced by lang_locale_data_load_from_lib().

Here is the caller graph for this function:

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 
)
static

Definition at line 4341 of file language_support.c.

References lang_collation::coll, lang_strmatch_utf8_uca_w_coll_data(), and NULL.

Referenced by lang_locale_data_load_from_lib().

Here is the caller graph for this function:

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 
)
static

Definition at line 2991 of file language_support.c.

References lang_strmatch_utf8_w_contr(), and NULL.

Referenced by lang_locale_data_load_from_lib().

Here is the caller graph for this function:

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 
)
static

Definition at line 6523 of file language_support.c.

References assert, CAST_BUFLEN, and NULL.

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 
)
static
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 
)
static

Definition at line 6271 of file language_support.c.

References ASCII_SPACE, assert, CAST_BUFLEN, cmp, EUC_SPACE, intl_nextchar_euc(), NULL, and ZERO.

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 
)
static
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 
)
static

Definition at line 4363 of file language_support.c.

References lang_collation::coll, and lang_strmatch_utf8_uca_w_coll_data().

Referenced by lang_locale_data_load_from_lib().

Here is the caller graph for this function:

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 
)
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 
)
static
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 
)
static
static void lang_unload_libraries ( void  )
static

Definition at line 7365 of file language_support.c.

References assert, i, loclib_Handle, loclib_Handle_count, and NULL.

Referenced by init_user_locales(), and lang_final().

Here is the caller graph for this function:

const ALPHABET_DATA* lang_user_alphabet_w_coll ( const int  collation_id)

Definition at line 1741 of file language_support.c.

References lang_locale_data::alphabet, assert, lang_collation::default_lang, lang_get_collation(), and NULL.

Referenced by db_string_lower(), and db_string_upper().

Here is the caller graph for this function:

static void set_default_lang ( void  )
static
static int set_msg_lang_from_env ( void  )
static

Variable Documentation

LANG_COLLATION* built_In_collations[]
static
Initial value:
= {
}
static LANG_COLLATION coll_Utf8_ko_cs
static LANG_COLLATION coll_Iso_binary
static LANG_COLLATION coll_Iso88591_en_ci
static LANG_COLLATION coll_Euckr_bin
static LANG_COLLATION coll_Iso88591_en_cs
static LANG_COLLATION coll_Utf8_binary
static LANG_COLLATION coll_Utf8_en_ci
static LANG_COLLATION coll_Utf8_en_cs
static LANG_COLLATION coll_Binary
static LANG_COLLATION coll_Utf8_tr_cs

Definition at line 833 of file language_support.c.

LANG_COLLATION coll_Binary
static
Initial value:
= {
{LANG_COLL_BINARY, "binary",
0,
"93fbdcc87193d2783b2396c6bec068bb"},
NULL
}
#define LANG_COLL_GENERIC_SORT_OPT
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)
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)
#define DEFAULT_COLL_OPTIONS
#define LANG_COLL_NO_CONTR
#define LANG_COLL_NO_EXP
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)
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)
#define NULL
Definition: freelistheap.h:34
static unsigned int lang_mht2str_default(const LANG_COLLATION *lang_coll, const unsigned char *str, const int size)

Definition at line 657 of file language_support.c.

LANG_COLLATION coll_Euckr_bin
static
Initial value:
= {
{LANG_COLL_EUCKR_BINARY, "euckr_bin",
"18fb633e87f0a3a785ef38cf2a6a7789"},
}
static unsigned int lang_Weight_EN_cs_ti[LANG_CHAR_COUNT_EN]
#define LANG_COLL_GENERIC_SORT_OPT
#define DEFAULT_COLL_OPTIONS
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)
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)
#define LANG_COLL_NO_CONTR
#define LANG_COLL_NO_EXP
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)
static unsigned int lang_Weight_EN_cs[LANG_CHAR_COUNT_EN]
static unsigned int lang_mht2str_ko(const LANG_COLLATION *lang_coll, const unsigned char *str, const int size)
#define NULL
Definition: freelistheap.h:34
static unsigned int lang_Next_alpha_char_EN_cs[LANG_CHAR_COUNT_EN]
#define LANG_CHAR_COUNT_EN
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)
static unsigned int lang_Next_alpha_char_EN_cs_ti[LANG_CHAR_COUNT_EN]
static void lang_init_coll_en_cs(LANG_COLLATION *lang_coll)

Definition at line 599 of file language_support.c.

LANG_COLLATION coll_Iso88591_en_ci
static
Initial value:
= {
{LANG_COLL_ISO_EN_CI, "iso88591_en_ci",
"b3fb4c073fbc76c5ec302da9128d9542"},
}
static unsigned int lang_Weight_EN_ci[LANG_CHAR_COUNT_EN]
#define LANG_COLL_GENERIC_SORT_OPT
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)
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)
#define LANG_COLL_NO_CONTR
#define LANG_COLL_NO_EXP
static unsigned int lang_mht2str_byte(const LANG_COLLATION *lang_coll, const unsigned char *str, const int size)
static unsigned int lang_Next_alpha_char_EN_ci[LANG_CHAR_COUNT_EN]
#define NULL
Definition: freelistheap.h:34
static void lang_init_coll_en_ci(LANG_COLLATION *lang_coll)
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)
static unsigned int lang_Weight_EN_ci_ti[LANG_CHAR_COUNT_EN]
#define LANG_CHAR_COUNT_EN
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)
#define CI_COLL_OPTIONS
static unsigned int lang_Next_alpha_char_EN_ci_ti[LANG_CHAR_COUNT_EN]

Definition at line 739 of file language_support.c.

LANG_COLLATION coll_Iso88591_en_cs
static
Initial value:
= {
{LANG_COLL_ISO_EN_CS, "iso88591_en_cs",
"707cef004e58be204d999d8a2abb4cc3"},
NULL
}
static unsigned int lang_Weight_EN_cs_ti[LANG_CHAR_COUNT_EN]
#define LANG_COLL_GENERIC_SORT_OPT
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)
#define DEFAULT_COLL_OPTIONS
#define LANG_COLL_NO_CONTR
#define LANG_COLL_NO_EXP
static unsigned int lang_Weight_EN_cs[LANG_CHAR_COUNT_EN]
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)
#define NULL
Definition: freelistheap.h:34
static unsigned int lang_Next_alpha_char_EN_cs[LANG_CHAR_COUNT_EN]
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)
#define LANG_CHAR_COUNT_EN
static unsigned int lang_Next_alpha_char_EN_cs_ti[LANG_CHAR_COUNT_EN]
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)
static unsigned int lang_mht2str_default(const LANG_COLLATION *lang_coll, const unsigned char *str, const int size)

Definition at line 366 of file language_support.c.

LANG_COLLATION coll_Iso_binary
static
Initial value:
= {
{LANG_COLL_ISO_BINARY, "iso88591_bin",
"54735f231842c3a673161fc90670989b"},
NULL
}
static unsigned int lang_Weight_EN_cs_ti[LANG_CHAR_COUNT_EN]
#define LANG_COLL_GENERIC_SORT_OPT
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)
#define DEFAULT_COLL_OPTIONS
#define LANG_COLL_NO_CONTR
#define LANG_COLL_NO_EXP
static unsigned int lang_Weight_EN_cs[LANG_CHAR_COUNT_EN]
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)
#define NULL
Definition: freelistheap.h:34
static unsigned int lang_Next_alpha_char_EN_cs[LANG_CHAR_COUNT_EN]
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)
#define LANG_CHAR_COUNT_EN
static unsigned int lang_Next_alpha_char_EN_cs_ti[LANG_CHAR_COUNT_EN]
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)
static unsigned int lang_mht2str_default(const LANG_COLLATION *lang_coll, const unsigned char *str, const int size)

Definition at line 699 of file language_support.c.

Referenced by lang_init_builtin().

LANG_COLLATION coll_Utf8_binary
static
Initial value:
= {
{LANG_COLL_UTF8_BINARY, "utf8_bin",
"d16a9a3825e263f76028c1e8c3cd043d"},
NULL
}
static unsigned int lang_Weight_EN_cs_ti[LANG_CHAR_COUNT_EN]
#define LANG_COLL_GENERIC_SORT_OPT
#define DEFAULT_COLL_OPTIONS
#define LANG_COLL_NO_CONTR
#define LANG_COLL_NO_EXP
static unsigned int lang_Weight_EN_cs[LANG_CHAR_COUNT_EN]
static unsigned int lang_mht2str_byte(const LANG_COLLATION *lang_coll, const unsigned char *str, const int size)
#define NULL
Definition: freelistheap.h:34
static unsigned int lang_Next_alpha_char_EN_cs[LANG_CHAR_COUNT_EN]
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)
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)
#define LANG_CHAR_COUNT_EN
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)
static unsigned int lang_Next_alpha_char_EN_cs_ti[LANG_CHAR_COUNT_EN]
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)

Definition at line 718 of file language_support.c.

LANG_COLLATION coll_Utf8_en_ci
static
Initial value:
= {
{LANG_COLL_UTF8_EN_CI, "utf8_en_ci",
"3050bc8e9814b196f4bbb84759aab77c"},
}
static unsigned int lang_Weight_EN_ci[LANG_CHAR_COUNT_EN]
#define LANG_COLL_GENERIC_SORT_OPT
#define LANG_COLL_NO_CONTR
#define LANG_COLL_NO_EXP
static unsigned int lang_mht2str_byte(const LANG_COLLATION *lang_coll, const unsigned char *str, const int size)
static unsigned int lang_Next_alpha_char_EN_ci[LANG_CHAR_COUNT_EN]
#define NULL
Definition: freelistheap.h:34
static void lang_init_coll_en_ci(LANG_COLLATION *lang_coll)
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)
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)
static unsigned int lang_Weight_EN_ci_ti[LANG_CHAR_COUNT_EN]
#define LANG_CHAR_COUNT_EN
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)
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)
#define CI_COLL_OPTIONS
static unsigned int lang_Next_alpha_char_EN_ci_ti[LANG_CHAR_COUNT_EN]

Definition at line 758 of file language_support.c.

LANG_COLLATION coll_Utf8_en_cs
static
Initial value:
= {
{LANG_COLL_UTF8_EN_CS, "utf8_en_cs",
"1bdb1b1f630edc508be37f66dfdce7b0"},
}
static unsigned int lang_Weight_EN_cs_ti[LANG_CHAR_COUNT_EN]
#define LANG_COLL_GENERIC_SORT_OPT
#define DEFAULT_COLL_OPTIONS
#define LANG_COLL_NO_CONTR
#define LANG_COLL_NO_EXP
static unsigned int lang_Weight_EN_cs[LANG_CHAR_COUNT_EN]
static unsigned int lang_mht2str_byte(const LANG_COLLATION *lang_coll, const unsigned char *str, const int size)
#define NULL
Definition: freelistheap.h:34
static unsigned int lang_Next_alpha_char_EN_cs[LANG_CHAR_COUNT_EN]
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)
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)
#define LANG_CHAR_COUNT_EN
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)
static unsigned int lang_Next_alpha_char_EN_cs_ti[LANG_CHAR_COUNT_EN]
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)
static void lang_init_coll_en_cs(LANG_COLLATION *lang_coll)

Definition at line 333 of file language_support.c.

LANG_COLLATION coll_Utf8_ko_cs
static
Initial value:
= {
{LANG_COLL_UTF8_KO_CS, "utf8_ko_cs",
"422c85ede1e265a761078763d2240c81"},
}
static unsigned int lang_Weight_EN_cs_ti[LANG_CHAR_COUNT_EN]
#define LANG_COLL_GENERIC_SORT_OPT
#define DEFAULT_COLL_OPTIONS
#define LANG_COLL_NO_CONTR
#define LANG_COLL_NO_EXP
static unsigned int lang_Weight_EN_cs[LANG_CHAR_COUNT_EN]
static unsigned int lang_mht2str_utf8(const LANG_COLLATION *lang_coll, const unsigned char *str, const int size)
#define NULL
Definition: freelistheap.h:34
static unsigned int lang_Next_alpha_char_EN_cs[LANG_CHAR_COUNT_EN]
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)
#define LANG_CHAR_COUNT_EN
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)
static unsigned int lang_Next_alpha_char_EN_cs_ti[LANG_CHAR_COUNT_EN]
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)
static void lang_init_coll_en_cs(LANG_COLLATION *lang_coll)
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)

Definition at line 539 of file language_support.c.

LANG_COLLATION coll_Utf8_tr_cs
static
Initial value:
= {
{LANG_COLL_UTF8_TR_CS, "utf8_tr_cs",
"52f12f045d2fc90c3a818d0b334485d7"},
}
#define LANG_COLL_GENERIC_SORT_OPT
static void lang_init_coll_Utf8_tr_cs(LANG_COLLATION *lang_coll)
#define DEFAULT_COLL_OPTIONS
#define LANG_COLL_NO_CONTR
#define LANG_COLL_NO_EXP
static unsigned int lang_Next_alpha_char_TR_ti[LANG_CHAR_COUNT_TR]
static unsigned int lang_mht2str_utf8(const LANG_COLLATION *lang_coll, const unsigned char *str, const int size)
static unsigned int lang_Next_alpha_char_TR[LANG_CHAR_COUNT_TR]
#define NULL
Definition: freelistheap.h:34
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)
static unsigned int lang_Weight_TR_ti[LANG_CHAR_COUNT_TR]
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)
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)
static unsigned int lang_Weight_TR[LANG_CHAR_COUNT_TR]
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)
#define LANG_CHAR_COUNT_TR

Definition at line 777 of file language_support.c.

TEXT_CONVERSION con_Iso_8859_1_conv

Definition at line 128 of file intl_support.c.

Referenced by lang_locale_data_load_from_lib().

TEXT_CONVERSION con_Iso_8859_9_conv

Definition at line 116 of file intl_support.c.

Referenced by lang_locale_data_load_from_lib().

TEXT_CONVERSION* console_Conv = NULL
static

Definition at line 155 of file language_support.c.

Referenced by lang_get_txt_conv().

UNICODE_NORMALIZATION* generic_Unicode_norm = NULL
static

Definition at line 167 of file language_support.c.

Referenced by lang_get_generic_unicode_norm().

bool lang_Builtin_initialized = false
static

Definition at line 104 of file language_support.c.

Referenced by lang_final(), and lang_init_builtin().

LANG_COLLATION* lang_Collations[LANG_MAX_COLLATIONS] = { NULL }

Definition at line 67 of file language_support.c.

int lang_Count_collations = 0
static
char lang_date_format_TR[] = "DD.MM.YYYY"
static

Definition at line 145 of file language_support.c.

char lang_datetime_format_TR[] = "HH24:MI:SS.FF DD.MM.YYYY"
static

Definition at line 146 of file language_support.c.

char lang_datetimetz_format_TR[] = "HH24:MI:SS.FF DD.MM.YYYY TZR"
static

Definition at line 148 of file language_support.c.

const DB_CHARSET lang_Db_charsets[]
static
Initial value:
= {
{"ascii", "US English charset - ASCII encoding", " ", "",
{"raw-bits", "Uninterpreted bits - Raw encoding", "", "",
{"raw-bytes", "Uninterpreted bytes - Raw encoding", "", "_binary",
"binary", INTL_CODESET_BINARY, 1},
{"iso8859-1", "Latin 1 charset - ISO 8859 encoding", " ", "_iso88591",
"iso88591", INTL_CODESET_ISO88591, 1},
{"ksc-euc", "KSC 5601 1990 charset - EUC encoding", "\241\241", "_euckr",
{"utf-8", "UNICODE charset - UTF-8 encoding", " ", "_utf8",
"utf8", INTL_CODESET_UTF8, 1},
{"", "", "", "", "", INTL_CODESET_NONE, 0}
}

Definition at line 169 of file language_support.c.

bool lang_Init_w_error = false
static
bool lang_Initialized = false
static
INTL_LANG lang_Lang_id = INTL_LANG_ENGLISH
static
LANG_LOCALE_DATA* lang_Loaded_locales[LANG_MAX_LOADED_LOCALES] = { NULL }
static

Definition at line 160 of file language_support.c.

DB_CURRENCY lang_Loc_currency = DB_CURRENCY_DOLLAR
static

Definition at line 65 of file language_support.c.

Referenced by lang_currency(), set_current_locale(), and set_default_lang().

LANG_LOCALE_DATA* lang_Loc_data = &lc_English_iso88591
static

Definition at line 697 of file language_support.c.

Referenced by lang_locale().

char lang_Loc_name[LANG_MAX_LANGNAME] = LANG_NAME_DEFAULT
static

Definition at line 62 of file language_support.c.

Referenced by lang_set_charset_lang(), and set_default_lang().

unsigned int lang_lower_EN[LANG_CHAR_COUNT_EN]
static

Definition at line 318 of file language_support.c.

Referenced by lang_initloc_en_utf8().

unsigned int lang_lower_i_TR[LANG_CHAR_COUNT_TR]
static

Definition at line 142 of file language_support.c.

Referenced by lang_initloc_tr_utf8().

unsigned int lang_lower_TR[LANG_CHAR_COUNT_TR]
static

Definition at line 140 of file language_support.c.

Referenced by lang_initloc_tr_utf8().

bool lang_Msg_env_initialized = false
static

Definition at line 109 of file language_support.c.

Referenced by lang_final(), lang_get_msg_Loc_name(), and set_msg_lang_from_env().

char lang_Msg_loc_name[LANG_MAX_LANGNAME] = LANG_NAME_DEFAULT
static

Definition at line 63 of file language_support.c.

Referenced by lang_get_msg_Loc_name(), and set_msg_lang_from_env().

unsigned int lang_Next_alpha_char_EN_ci[LANG_CHAR_COUNT_EN]
static

Definition at line 86 of file language_support.c.

unsigned int lang_Next_alpha_char_EN_ci_ti[LANG_CHAR_COUNT_EN]
static

Definition at line 92 of file language_support.c.

unsigned int lang_Next_alpha_char_EN_cs[LANG_CHAR_COUNT_EN]
static

Definition at line 83 of file language_support.c.

unsigned int lang_Next_alpha_char_EN_cs_ti[LANG_CHAR_COUNT_EN]
static

Definition at line 89 of file language_support.c.

unsigned int lang_Next_alpha_char_TR[LANG_CHAR_COUNT_TR]
static

Definition at line 95 of file language_support.c.

Referenced by lang_init_coll_Utf8_tr_cs().

unsigned int lang_Next_alpha_char_TR_ti[LANG_CHAR_COUNT_TR]
static

Definition at line 98 of file language_support.c.

Referenced by lang_init_coll_Utf8_tr_cs().

bool lang_Parser_use_client_charset = true
static
char lang_time_format_TR[] = "HH24:MI:SS"
static

Definition at line 144 of file language_support.c.

char lang_timestamp_format_TR[] = "HH24:MI:SS DD.MM.YYYY"
static

Definition at line 147 of file language_support.c.

char lang_timestamptz_format_TR[] = "HH24:MI:SS DD.MM.YYYY TZR"
static

Definition at line 149 of file language_support.c.

unsigned int lang_upper_EN[LANG_CHAR_COUNT_EN]
static

Definition at line 317 of file language_support.c.

Referenced by lang_initloc_en_utf8().

unsigned int lang_upper_i_TR[LANG_CHAR_COUNT_TR]
static

Definition at line 141 of file language_support.c.

Referenced by lang_initloc_tr_utf8().

unsigned int lang_upper_TR[LANG_CHAR_COUNT_TR]
static

Definition at line 139 of file language_support.c.

Referenced by lang_initloc_tr_utf8().

int lang_w_map_EN[LANG_W_MAP_COUNT_EN]
static

Definition at line 323 of file language_support.c.

unsigned int lang_Weight_EN_ci[LANG_CHAR_COUNT_EN]
static

Definition at line 85 of file language_support.c.

unsigned int lang_Weight_EN_ci_ti[LANG_CHAR_COUNT_EN]
static

Definition at line 91 of file language_support.c.

unsigned int lang_Weight_EN_cs[LANG_CHAR_COUNT_EN]
static

Definition at line 82 of file language_support.c.

unsigned int lang_Weight_EN_cs_ti[LANG_CHAR_COUNT_EN]
static

Definition at line 88 of file language_support.c.

unsigned int lang_Weight_TR[LANG_CHAR_COUNT_TR]
static

Definition at line 94 of file language_support.c.

Referenced by lang_init_coll_Utf8_tr_cs().

unsigned int lang_Weight_TR_ti[LANG_CHAR_COUNT_TR]
static

Definition at line 97 of file language_support.c.

Referenced by lang_init_coll_Utf8_tr_cs().

LANG_LOCALE_DATA lc_English_binary
static
Initial value:
= {
LOCALE_DUMMY_ALPHABET (INTL_CODESET_BINARY),
LOCALE_DUMMY_ALPHABET (INTL_CODESET_BINARY),
NULL,
false,
'.',
',',
(char *) "390462b716493cbd74c77f545a77a2bf",
false
}
#define LANG_NO_NORMALIZATION
#define LOCALE_NULL_CALENDAR_NAMES
#define LOCALE_NULL_DATE_FORMATS
#define LOCALE_DUMMY_ALPHABET(codeset)
#define NULL
Definition: freelistheap.h:34
static LANG_COLLATION coll_Binary
#define LANG_NAME_ENGLISH
static void lang_initloc_en_binary(LANG_LOCALE_DATA *ld)

Definition at line 676 of file language_support.c.

LANG_LOCALE_DATA lc_English_iso88591
static

Definition at line 386 of file language_support.c.

Referenced by set_default_lang().

LANG_LOCALE_DATA lc_English_utf8
static

Definition at line 424 of file language_support.c.

LANG_LOCALE_DATA lc_Korean_euckr
static

Definition at line 620 of file language_support.c.

LANG_LOCALE_DATA lc_Korean_iso88591
static

Definition at line 502 of file language_support.c.

LANG_LOCALE_DATA lc_Korean_utf8
static

Definition at line 561 of file language_support.c.

LANG_LOCALE_DATA lc_Turkish_iso88591
static

Definition at line 464 of file language_support.c.

LANG_LOCALE_DATA lc_Turkish_utf8
static

Definition at line 796 of file language_support.c.

void** loclib_Handle = NULL
static

Definition at line 151 of file language_support.c.

Referenced by init_user_locales(), and lang_unload_libraries().

int loclib_Handle_count = 0
static

Definition at line 153 of file language_support.c.

Referenced by init_user_locales(), and lang_unload_libraries().

int loclib_Handle_size = 0
static

Definition at line 152 of file language_support.c.

Referenced by init_user_locales().

UCA_L13_W uca_l13_max_weight = 0xffffffff
static
UCA_L4_W uca_l4_max_weight = 0xffff
static

Definition at line 3379 of file language_support.c.

Referenced by lang_get_uca_w_l4(), and lang_mht2str_utf8_exp().