Skip to content

File locale_support.h

FileList > base > locale_support.h

Go to the source code of this file

  • #include <stddef.h>
  • #include "porting.h"
  • #include "dbtype_def.h"
  • #include "locale_lib_common.h"

Classes

Type Name
struct alphabet_data
struct alphabet_tailoring
struct coll_data
struct coll_data_ref
struct coll_tailoring
struct cubrid_tailor_rule
struct ldml_context
struct locale_collation
struct locale_data
struct locale_file
struct tailor_rule
struct text_conversion
struct text_conversion_prm
struct transform_rule
struct uca_options
struct unicode_normalization

Public Types

Type Name
typedef struct alphabet_data ALPHABET_DATA
typedef struct alphabet_tailoring ALPHABET_TAILORING
enum ALPHABET_TYPE
enum ALPHABET_USE_MODE
enum COLL_CONTR_POLICY
typedef struct coll_data COLL_DATA
typedef struct coll_data_ref COLL_DATA_REF
enum COLL_MATCH_CONTR
typedef struct coll_tailoring COLL_TAILORING
enum CP_BUF_TYPE
typedef struct cubrid_tailor_rule CUBRID_TAILOR_RULE
typedef struct ldml_context LDML_CONTEXT
typedef struct locale_collation LOCALE_COLLATION
typedef struct locale_data LOCALE_DATA
typedef struct locale_file LOCALE_FILE
enum RULE_POS_TYPE
enum TAILOR_DIR
typedef struct tailor_rule TAILOR_RULE
typedef struct text_conversion TEXT_CONVERSION
typedef struct text_conversion_prm TEXT_CONVERSION_PRM
enum TEXT_CONV_TYPE
typedef struct transform_rule TRANSFORM_RULE
enum TRANSFORM_TYPE
enum T_LEVEL
typedef unsigned short UCA_CP
typedef struct uca_options UCA_OPTIONS
typedef unsigned short UCA_W
typedef struct unicode_normalization UNICODE_NORMALIZATION

Public Functions

Type Name
int locale_check_and_set_default_files (LOCALE_FILE * lf, bool is_lang_init)
int locale_compile_locale (LOCALE_FILE * lf, LOCALE_DATA * ld, bool is_verbose)
void locale_destroy_data (LOCALE_DATA * ld)
int locale_dump (void * data, LOCALE_FILE * lf, int dl_settings, int start_value, int end_value)
int locale_dump_lib_collations (void * lib_handle, const LOCALE_FILE * lf, int dl_settings, int start_value, int end_value)
void locale_free_shared_data (void)
int locale_get_cfg_locales (LOCALE_FILE ** p_locale_files, int * p_num_locales, bool is_lang_init)
void locale_mark_duplicate_collations (LOCALE_DATA ** ld, int start_index, int end_index, bool is_verbose)
int locale_prepare_C_file (void)
int locale_save_all_to_C_file (LOCALE_DATA ** ld, int start_index, int end_index, LOCALE_FILE * lf)

Macros

Type Name
define CAL_AM_PM_COUNT 12
define CAL_COMP_DATE_FORMAT_SIZE 48
define CAL_COMP_DATE_TZ_FORMAT_SIZE 70
define CAL_DAY_COUNT 7
define CAL_MONTH_COUNT 12
define CAL_SIMPLE_DATE_FORMAT_SIZE 30
define CAL_SIMPLE_DATE_TZ_FORMAT_SIZE 52
define COLL_NAME_SIZE 32
define CP_HAS_MAPPINGS (val) (((val) & [**MAPPING\_INDEX\_MASK**](locale__support_8h.md#define-mapping_index_mask)) == [**MAPPING\_INDEX\_MASK**](locale__support_8h.md#define-mapping_index_mask))
define DUMPLOCALE_IS_ALPHABET (1 &lt;&lt; 2)
define DUMPLOCALE_IS_ALPHABET_LOWER (1 &lt;&lt; 3)
define DUMPLOCALE_IS_ALPHABET_UPPER (1 &lt;&lt; 4)
define DUMPLOCALE_IS_CALENDAR 1
define DUMPLOCALE_IS_COLLATION_CP_ORDER (1 &lt;&lt; 8)
define DUMPLOCALE_IS_COLLATION_WEIGHT_ORDER (1 &lt;&lt; 9)
define DUMPLOCALE_IS_IDENTIFIER_ALPHABET (1 &lt;&lt; 5)
define DUMPLOCALE_IS_IDENTIFIER_ALPHABET_LOWER (1 &lt;&lt; 6)
define DUMPLOCALE_IS_IDENTIFIER_ALPHABET_UPPER (1 &lt;&lt; 7)
define DUMPLOCALE_IS_NORMALIZATION (1 &lt;&lt; 10)
define DUMPLOCALE_IS_NUMBERING (1 &lt;&lt; 1)
define DUMPLOCALE_IS_TEXT_CONV (1 &lt;&lt; 11)
define ERR_MSG_SIZE 512
define GET_MAPPING_OFFSET (val) ((val) & ~[**MAPPING\_INDEX\_MASK**](locale__support_8h.md#define-mapping_index_mask))
define INTL_CASING_EXPANSION_MULTIPLIER 2
define INTL_GET_NEXT_CONTR_ID (v) ((v) & (~[**INTL\_MASK\_CONTR**](locale__support_8h.md#define-intl_mask_contr)))
define INTL_IDENTIFIER_CASING_SIZE_MULTIPLIER 2
define INTL_IS_NEXT_CONTR (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 INTL_MASK_CONTR 0x80000000
define LOC_CAL_FMT_AM_LEN 2
define LOC_CAL_FMT_DAY_ABBR_LEN 2
define LOC_CAL_FMT_DAY_WIDE_LEN 3
define LOC_CAL_FMT_MONTH_ABBR_LEN 3
define LOC_CAL_FMT_MONTH_WIDE_LEN 5
define LOC_DATA_AM_PM_SIZE /* multi line expression */
define LOC_DATA_BUFF_SIZE 256
define LOC_DATA_COLL_CUBRID_TAILOR_COUNT_GROW 8
define LOC_DATA_COLL_TWO_CHARS 13
define LOC_DATA_CURRENCY_ISO_CODE_LEN 3
define LOC_DATA_DAY_ABBR_SIZE /* multi line expression */
define LOC_DATA_DAY_WIDE_SIZE /* multi line expression */
define LOC_DATA_MONTH_ABBR_SIZE /* multi line expression */
define LOC_DATA_MONTH_WIDE_SIZE /* multi line expression */
define LOC_DATA_TAILOR_RULES_COUNT_GROW 128
define LOC_LIB_SYMBOL_NAME_SIZE 64
define LOC_LOCALE_STR_SIZE 10
define LOC_PARSE_FRMT_TO_TOKEN_MULT 5
define LOG_LOCALE_ERROR (msg, er_status, do_print) /* multi line expression */
define MAPPING_INDEX_MASK 0x100000
define MAX_STRLEN_FOR_COLLATION_ELEMENT 136
define MAX_UNICODE_CHARS 65536
define SET_MAPPING_INDEX (val, is_used, offset) /* multi line expression */
define TXT_CONV_SYSTEM_STR_SIZE 256
define UCA_GET_L1_W (v) ((v) & 0x0000ffff)
define UCA_GET_L2_W (v) (((v) & 0x01ff0000) &gt;&gt; 16)
define UCA_GET_L3_W (v) (((v) & 0xfe000000) &gt;&gt; 25)
define UNICODE_NORMALIZATION_DECORATOR "std"

Public Types Documentation

typedef ALPHABET_DATA

typedef struct alphabet_data ALPHABET_DATA;

typedef ALPHABET_TAILORING

typedef struct alphabet_tailoring ALPHABET_TAILORING;

enum ALPHABET_TYPE

enum ALPHABET_TYPE {
    ALPHABET_UNICODE = 0,
    ALPHABET_ASCII,
    ALPHABET_TAILORED
};

enum ALPHABET_USE_MODE

enum ALPHABET_USE_MODE {
    ALPHABET_USE_BUILTIN = 0,
    ALPHABET_USE_DATA
};

enum COLL_CONTR_POLICY

enum COLL_CONTR_POLICY {
    CONTR_IGNORE = 0x0,
    CONTR_TAILORING_USE = 0x1,
    CONTR_DUCET_USE = 0x2
};

typedef COLL_DATA

typedef struct coll_data COLL_DATA;

typedef COLL_DATA_REF

typedef struct coll_data_ref COLL_DATA_REF;

enum COLL_MATCH_CONTR

enum COLL_MATCH_CONTR {
    MATCH_CONTR_BOUND_FORBID = 0,
    MATCH_CONTR_BOUND_ALLOW = 1
};

typedef COLL_TAILORING

typedef struct coll_tailoring COLL_TAILORING;

enum CP_BUF_TYPE

enum CP_BUF_TYPE {
    BUF_TYPE_CHAR,
    BUF_TYPE_CODE
};

typedef CUBRID_TAILOR_RULE

typedef struct cubrid_tailor_rule CUBRID_TAILOR_RULE;

typedef LDML_CONTEXT

typedef struct ldml_context LDML_CONTEXT;

typedef LOCALE_COLLATION

typedef struct locale_collation LOCALE_COLLATION;

typedef LOCALE_DATA

typedef struct locale_data LOCALE_DATA;

typedef LOCALE_FILE

typedef struct locale_file LOCALE_FILE;

enum RULE_POS_TYPE

enum RULE_POS_TYPE {
    RULE_POS_BUFFER = 0,
    RULE_POS_FIRST_VAR,
    RULE_POS_LAST_VAR,
    RULE_POS_FIRST_PRI_IGN,
    RULE_POS_LAST_PRI_IGN,
    RULE_POS_FIRST_SEC_IGN,
    RULE_POS_LAST_SEC_IGN,
    RULE_POS_FIRST_TERT_IGN,
    RULE_POS_LAST_TERT_IGN,
    RULE_POS_FIRST_NON_IGN,
    RULE_POS_LAST_NON_IGN,
    RULE_POS_FIRST_TRAIL,
    RULE_POS_LAST_TRAIL
};

enum TAILOR_DIR

enum TAILOR_DIR {
    TAILOR_AFTER = 0,
    TAILOR_BEFORE
};

typedef TAILOR_RULE

typedef struct tailor_rule TAILOR_RULE;

typedef TEXT_CONVERSION

typedef struct text_conversion TEXT_CONVERSION;

typedef TEXT_CONVERSION_PRM

typedef struct text_conversion_prm TEXT_CONVERSION_PRM;

enum TEXT_CONV_TYPE

enum TEXT_CONV_TYPE {
    TEXT_CONV_NO_CONVERSION = 0,
    TEXT_CONV_ISO_88591_BUILTIN,
    TEXT_CONV_ISO_88599_BUILTIN,
    TEXT_CONV_GENERIC_1BYTE,
    TEXT_CONV_GENERIC_2BYTE
};

typedef TRANSFORM_RULE

typedef struct transform_rule TRANSFORM_RULE;

enum TRANSFORM_TYPE

enum TRANSFORM_TYPE {
    TR_UPPER = 0,
    TR_LOWER
};

enum T_LEVEL

enum T_LEVEL {
    TAILOR_UNDEFINED = 0,
    TAILOR_PRIMARY,
    TAILOR_SECONDARY,
    TAILOR_TERTIARY,
    TAILOR_QUATERNARY,
    TAILOR_IDENTITY
};

typedef UCA_CP

typedef unsigned short UCA_CP;

typedef UCA_OPTIONS

typedef struct uca_options UCA_OPTIONS;

typedef UCA_W

typedef unsigned short UCA_W;

typedef UNICODE_NORMALIZATION

typedef struct unicode_normalization UNICODE_NORMALIZATION;

Public Functions Documentation

function locale_check_and_set_default_files

int locale_check_and_set_default_files (
    LOCALE_FILE * lf,
    bool is_lang_init
) 

function locale_compile_locale

int locale_compile_locale (
    LOCALE_FILE * lf,
    LOCALE_DATA * ld,
    bool is_verbose
) 

function locale_destroy_data

void locale_destroy_data (
    LOCALE_DATA * ld
) 

function locale_dump

int locale_dump (
    void * data,
    LOCALE_FILE * lf,
    int dl_settings,
    int start_value,
    int end_value
) 

function locale_dump_lib_collations

int locale_dump_lib_collations (
    void * lib_handle,
    const  LOCALE_FILE * lf,
    int dl_settings,
    int start_value,
    int end_value
) 

function locale_free_shared_data

void locale_free_shared_data (
    void
) 

function locale_get_cfg_locales

int locale_get_cfg_locales (
    LOCALE_FILE ** p_locale_files,
    int * p_num_locales,
    bool is_lang_init
) 

function locale_mark_duplicate_collations

void locale_mark_duplicate_collations (
    LOCALE_DATA ** ld,
    int start_index,
    int end_index,
    bool is_verbose
) 

function locale_prepare_C_file

int locale_prepare_C_file (
    void
) 

function locale_save_all_to_C_file

int locale_save_all_to_C_file (
    LOCALE_DATA ** ld,
    int start_index,
    int end_index,
    LOCALE_FILE * lf
) 

Macro Definition Documentation

define CAL_AM_PM_COUNT

#define CAL_AM_PM_COUNT `12`

define CAL_COMP_DATE_FORMAT_SIZE

#define CAL_COMP_DATE_FORMAT_SIZE `48`

define CAL_COMP_DATE_TZ_FORMAT_SIZE

#define CAL_COMP_DATE_TZ_FORMAT_SIZE `70`

define CAL_DAY_COUNT

#define CAL_DAY_COUNT `7`

define CAL_MONTH_COUNT

#define CAL_MONTH_COUNT `12`

define CAL_SIMPLE_DATE_FORMAT_SIZE

#define CAL_SIMPLE_DATE_FORMAT_SIZE `30`

define CAL_SIMPLE_DATE_TZ_FORMAT_SIZE

#define CAL_SIMPLE_DATE_TZ_FORMAT_SIZE `52`

define COLL_NAME_SIZE

#define COLL_NAME_SIZE `32`

define CP_HAS_MAPPINGS

#define CP_HAS_MAPPINGS (
    val
) `(((val) & MAPPING_INDEX_MASK ) == MAPPING_INDEX_MASK )`

define DUMPLOCALE_IS_ALPHABET

#define DUMPLOCALE_IS_ALPHABET `(1 << 2)`

define DUMPLOCALE_IS_ALPHABET_LOWER

#define DUMPLOCALE_IS_ALPHABET_LOWER `(1 << 3)`

define DUMPLOCALE_IS_ALPHABET_UPPER

#define DUMPLOCALE_IS_ALPHABET_UPPER `(1 << 4)`

define DUMPLOCALE_IS_CALENDAR

#define DUMPLOCALE_IS_CALENDAR `1`

define DUMPLOCALE_IS_COLLATION_CP_ORDER

#define DUMPLOCALE_IS_COLLATION_CP_ORDER `(1 << 8)`

define DUMPLOCALE_IS_COLLATION_WEIGHT_ORDER

#define DUMPLOCALE_IS_COLLATION_WEIGHT_ORDER `(1 << 9)`

define DUMPLOCALE_IS_IDENTIFIER_ALPHABET

#define DUMPLOCALE_IS_IDENTIFIER_ALPHABET `(1 << 5)`

define DUMPLOCALE_IS_IDENTIFIER_ALPHABET_LOWER

#define DUMPLOCALE_IS_IDENTIFIER_ALPHABET_LOWER `(1 << 6)`

define DUMPLOCALE_IS_IDENTIFIER_ALPHABET_UPPER

#define DUMPLOCALE_IS_IDENTIFIER_ALPHABET_UPPER `(1 << 7)`

define DUMPLOCALE_IS_NORMALIZATION

#define DUMPLOCALE_IS_NORMALIZATION `(1 << 10)`

define DUMPLOCALE_IS_NUMBERING

#define DUMPLOCALE_IS_NUMBERING `(1 << 1)`

define DUMPLOCALE_IS_TEXT_CONV

#define DUMPLOCALE_IS_TEXT_CONV `(1 << 11)`

define ERR_MSG_SIZE

#define ERR_MSG_SIZE `512`

define GET_MAPPING_OFFSET

#define GET_MAPPING_OFFSET (
    val
) `((val) & ~ MAPPING_INDEX_MASK )`

define INTL_CASING_EXPANSION_MULTIPLIER

#define INTL_CASING_EXPANSION_MULTIPLIER `2`

define INTL_GET_NEXT_CONTR_ID

#define INTL_GET_NEXT_CONTR_ID (
    v
) `((v) & (~ INTL_MASK_CONTR ))`

define INTL_IDENTIFIER_CASING_SIZE_MULTIPLIER

#define INTL_IDENTIFIER_CASING_SIZE_MULTIPLIER `2`

define INTL_IS_NEXT_CONTR

#define INTL_IS_NEXT_CONTR (
    v
) `(((v) & INTL_MASK_CONTR ) == INTL_MASK_CONTR )`

define INTL_MASK_CONTR

#define INTL_MASK_CONTR `0x80000000`

define LOC_CAL_FMT_AM_LEN

#define LOC_CAL_FMT_AM_LEN `2`

define LOC_CAL_FMT_DAY_ABBR_LEN

#define LOC_CAL_FMT_DAY_ABBR_LEN `2`

define LOC_CAL_FMT_DAY_WIDE_LEN

#define LOC_CAL_FMT_DAY_WIDE_LEN `3`

define LOC_CAL_FMT_MONTH_ABBR_LEN

#define LOC_CAL_FMT_MONTH_ABBR_LEN `3`

define LOC_CAL_FMT_MONTH_WIDE_LEN

#define LOC_CAL_FMT_MONTH_WIDE_LEN `5`

define LOC_DATA_AM_PM_SIZE

#define LOC_DATA_AM_PM_SIZE `/* multi line expression */`

define LOC_DATA_BUFF_SIZE

#define LOC_DATA_BUFF_SIZE `256`

define LOC_DATA_COLL_CUBRID_TAILOR_COUNT_GROW

#define LOC_DATA_COLL_CUBRID_TAILOR_COUNT_GROW `8`

define LOC_DATA_COLL_TWO_CHARS

#define LOC_DATA_COLL_TWO_CHARS `13`

define LOC_DATA_CURRENCY_ISO_CODE_LEN

#define LOC_DATA_CURRENCY_ISO_CODE_LEN `3`

define LOC_DATA_DAY_ABBR_SIZE

#define LOC_DATA_DAY_ABBR_SIZE `/* multi line expression */`

define LOC_DATA_DAY_WIDE_SIZE

#define LOC_DATA_DAY_WIDE_SIZE `/* multi line expression */`

define LOC_DATA_MONTH_ABBR_SIZE

#define LOC_DATA_MONTH_ABBR_SIZE `/* multi line expression */`

define LOC_DATA_MONTH_WIDE_SIZE

#define LOC_DATA_MONTH_WIDE_SIZE `/* multi line expression */`

define LOC_DATA_TAILOR_RULES_COUNT_GROW

#define LOC_DATA_TAILOR_RULES_COUNT_GROW `128`

define LOC_LIB_SYMBOL_NAME_SIZE

#define LOC_LIB_SYMBOL_NAME_SIZE `64`

define LOC_LOCALE_STR_SIZE

#define LOC_LOCALE_STR_SIZE `10`

define LOC_PARSE_FRMT_TO_TOKEN_MULT

#define LOC_PARSE_FRMT_TO_TOKEN_MULT `5`

define LOG_LOCALE_ERROR

#define LOG_LOCALE_ERROR (
    msg,
    er_status,
    do_print
) `/* multi line expression */`

define MAPPING_INDEX_MASK

#define MAPPING_INDEX_MASK `0x100000`

define MAX_STRLEN_FOR_COLLATION_ELEMENT

#define MAX_STRLEN_FOR_COLLATION_ELEMENT `136`

define MAX_UNICODE_CHARS

#define MAX_UNICODE_CHARS `65536`

define SET_MAPPING_INDEX

#define SET_MAPPING_INDEX (
    val,
    is_used,
    offset
) `/* multi line expression */`

define TXT_CONV_SYSTEM_STR_SIZE

#define TXT_CONV_SYSTEM_STR_SIZE `256`

define UCA_GET_L1_W

#define UCA_GET_L1_W (
    v
) `((v) & 0x0000ffff)`

define UCA_GET_L2_W

#define UCA_GET_L2_W (
    v
) `(((v) & 0x01ff0000) >> 16)`

define UCA_GET_L3_W

#define UCA_GET_L3_W (
    v
) `(((v) & 0xfe000000) >> 25)`

define UNICODE_NORMALIZATION_DECORATOR

#define UNICODE_NORMALIZATION_DECORATOR `"std"`


The documentation for this class was generated from the following file cubrid/src/base/locale_support.h