PostgreSQL Source Code git master
|
#include "catalog/pg_collation.h"
#include "common/unicode_case.h"
#include "common/unicode_category.h"
#include "utils/pg_locale.h"
Go to the source code of this file.
Data Structures | |
struct | pg_ctype_cache |
Macros | |
#define | PG_ISDIGIT 0x01 |
#define | PG_ISALPHA 0x02 |
#define | PG_ISALNUM (PG_ISDIGIT | PG_ISALPHA) |
#define | PG_ISUPPER 0x04 |
#define | PG_ISLOWER 0x08 |
#define | PG_ISGRAPH 0x10 |
#define | PG_ISPRINT 0x20 |
#define | PG_ISPUNCT 0x40 |
#define | PG_ISSPACE 0x80 |
Typedefs | |
typedef int(* | pg_wc_probefunc) (pg_wchar c) |
typedef struct pg_ctype_cache | pg_ctype_cache |
Functions | |
void | pg_set_regex_collation (Oid collation) |
static int | pg_wc_isdigit (pg_wchar c) |
static int | pg_wc_isalpha (pg_wchar c) |
static int | pg_wc_isalnum (pg_wchar c) |
static int | pg_wc_isword (pg_wchar c) |
static int | pg_wc_isupper (pg_wchar c) |
static int | pg_wc_islower (pg_wchar c) |
static int | pg_wc_isgraph (pg_wchar c) |
static int | pg_wc_isprint (pg_wchar c) |
static int | pg_wc_ispunct (pg_wchar c) |
static int | pg_wc_isspace (pg_wchar c) |
static pg_wchar | pg_wc_toupper (pg_wchar c) |
static pg_wchar | pg_wc_tolower (pg_wchar c) |
static bool | store_match (pg_ctype_cache *pcc, pg_wchar chr1, int nchrs) |
static struct cvec * | pg_ctype_get_cache (pg_wc_probefunc probefunc, int cclasscode) |
Variables | |
static pg_locale_t | pg_regex_locale |
static struct pg_locale_struct | dummy_c_locale |
static const unsigned char | pg_char_properties [128] |
static pg_ctype_cache * | pg_ctype_cache_list = NULL |
#define PG_ISALNUM (PG_ISDIGIT | PG_ISALPHA) |
Definition at line 35 of file regc_pg_locale.c.
#define PG_ISALPHA 0x02 |
Definition at line 34 of file regc_pg_locale.c.
#define PG_ISDIGIT 0x01 |
Definition at line 33 of file regc_pg_locale.c.
#define PG_ISGRAPH 0x10 |
Definition at line 38 of file regc_pg_locale.c.
#define PG_ISLOWER 0x08 |
Definition at line 37 of file regc_pg_locale.c.
#define PG_ISPRINT 0x20 |
Definition at line 39 of file regc_pg_locale.c.
#define PG_ISPUNCT 0x40 |
Definition at line 40 of file regc_pg_locale.c.
#define PG_ISSPACE 0x80 |
Definition at line 41 of file regc_pg_locale.c.
#define PG_ISUPPER 0x04 |
Definition at line 36 of file regc_pg_locale.c.
typedef struct pg_ctype_cache pg_ctype_cache |
Definition at line 369 of file regc_pg_locale.c.
|
static |
Definition at line 429 of file regc_pg_locale.c.
References cvec::cclasscode, cvec::chrs, cvec::chrspace, pg_locale_struct::ctype, pg_locale_struct::ctype_is_c, pg_ctype_cache::cv, free, pg_ctype_cache::locale, malloc, ctype_methods::max_chr, MAX_SIMPLE_CHR, cvec::nchrs, pg_ctype_cache::next, cvec::nranges, pg_ctype_cache_list, pg_regex_locale, pg_ctype_cache::probefunc, cvec::ranges, cvec::rangespace, realloc, and store_match().
Referenced by cclasscvec().
void pg_set_regex_collation | ( | Oid | collation | ) |
Definition at line 183 of file regc_pg_locale.c.
References dummy_c_locale, ereport, errcode(), errhint(), errmsg(), ERROR, locale, OidIsValid, pg_newlocale_from_collation(), and pg_regex_locale.
Referenced by pg_regcomp(), pg_regexec(), and pg_regprefix().
|
static |
Definition at line 251 of file regc_pg_locale.c.
References pg_locale_struct::ctype, pg_locale_struct::ctype_is_c, pg_char_properties, PG_ISALNUM, pg_regex_locale, and ctype_methods::wc_isalnum.
Referenced by cclass_column_index(), cclasscvec(), and pg_wc_isword().
|
static |
Definition at line 241 of file regc_pg_locale.c.
References pg_locale_struct::ctype, pg_locale_struct::ctype_is_c, pg_char_properties, PG_ISALPHA, pg_regex_locale, and ctype_methods::wc_isalpha.
Referenced by cclass_column_index(), and cclasscvec().
|
static |
Definition at line 231 of file regc_pg_locale.c.
References pg_locale_struct::ctype, pg_locale_struct::ctype_is_c, pg_char_properties, PG_ISDIGIT, pg_regex_locale, and ctype_methods::wc_isdigit.
Referenced by cclass_column_index(), and cclasscvec().
|
static |
Definition at line 290 of file regc_pg_locale.c.
References pg_locale_struct::ctype, pg_locale_struct::ctype_is_c, pg_char_properties, PG_ISGRAPH, pg_regex_locale, and ctype_methods::wc_isgraph.
Referenced by cclass_column_index(), and cclasscvec().
|
static |
Definition at line 280 of file regc_pg_locale.c.
References pg_locale_struct::ctype, pg_locale_struct::ctype_is_c, pg_char_properties, PG_ISLOWER, pg_regex_locale, and ctype_methods::wc_islower.
Referenced by cclass_column_index(), and cclasscvec().
|
static |
Definition at line 300 of file regc_pg_locale.c.
References pg_locale_struct::ctype, pg_locale_struct::ctype_is_c, pg_char_properties, PG_ISPRINT, pg_regex_locale, and ctype_methods::wc_isprint.
Referenced by cclass_column_index(), and cclasscvec().
|
static |
Definition at line 310 of file regc_pg_locale.c.
References pg_locale_struct::ctype, pg_locale_struct::ctype_is_c, pg_char_properties, PG_ISPUNCT, pg_regex_locale, and ctype_methods::wc_ispunct.
Referenced by cclass_column_index(), and cclasscvec().
|
static |
Definition at line 320 of file regc_pg_locale.c.
References pg_locale_struct::ctype, pg_locale_struct::ctype_is_c, pg_char_properties, PG_ISSPACE, pg_regex_locale, and ctype_methods::wc_isspace.
Referenced by cclass_column_index(), and cclasscvec().
|
static |
Definition at line 270 of file regc_pg_locale.c.
References pg_locale_struct::ctype, pg_locale_struct::ctype_is_c, pg_char_properties, PG_ISUPPER, pg_regex_locale, and ctype_methods::wc_isupper.
Referenced by cclass_column_index(), and cclasscvec().
|
static |
Definition at line 261 of file regc_pg_locale.c.
References CHR, and pg_wc_isalnum().
Referenced by cclass_column_index(), and cclasscvec().
Definition at line 343 of file regc_pg_locale.c.
References pg_locale_struct::ctype, pg_locale_struct::ctype_is_c, pg_ascii_tolower(), pg_regex_locale, and ctype_methods::wc_tolower.
Referenced by allcases(), casecmp(), and range().
Definition at line 330 of file regc_pg_locale.c.
References pg_locale_struct::ctype, pg_locale_struct::ctype_is_c, pg_ascii_toupper(), pg_regex_locale, and ctype_methods::wc_toupper.
Referenced by allcases(), and range().
|
static |
Definition at line 385 of file regc_pg_locale.c.
References assert, cvec::chrs, cvec::chrspace, pg_ctype_cache::cv, cvec::nchrs, cvec::nranges, cvec::ranges, cvec::rangespace, and realloc.
Referenced by pg_ctype_get_cache().
|
static |
Definition at line 25 of file regc_pg_locale.c.
Referenced by pg_set_regex_collation().
|
static |
Definition at line 43 of file regc_pg_locale.c.
Referenced by pg_wc_isalnum(), pg_wc_isalpha(), pg_wc_isdigit(), pg_wc_isgraph(), pg_wc_islower(), pg_wc_isprint(), pg_wc_ispunct(), pg_wc_isspace(), and pg_wc_isupper().
|
static |
Definition at line 379 of file regc_pg_locale.c.
Referenced by pg_ctype_get_cache().
|
static |
Definition at line 23 of file regc_pg_locale.c.
Referenced by pg_ctype_get_cache(), pg_set_regex_collation(), pg_wc_isalnum(), pg_wc_isalpha(), pg_wc_isdigit(), pg_wc_isgraph(), pg_wc_islower(), pg_wc_isprint(), pg_wc_ispunct(), pg_wc_isspace(), pg_wc_isupper(), pg_wc_tolower(), and pg_wc_toupper().