82 #define PG_ISDIGIT 0x01
83 #define PG_ISALPHA 0x02
84 #define PG_ISALNUM (PG_ISDIGIT | PG_ISALPHA)
85 #define PG_ISUPPER 0x04
86 #define PG_ISLOWER 0x08
87 #define PG_ISGRAPH 0x10
88 #define PG_ISPRINT 0x20
89 #define PG_ISPUNCT 0x40
90 #define PG_ISSPACE 0x80
241 (
errcode(ERRCODE_INDETERMINATE_COLLATION),
242 errmsg(
"could not determine which collation to use for regular expression"),
243 errhint(
"Use the COLLATE clause to set the collation explicitly.")));
264 (
errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
265 errmsg(
"nondeterministic collations are not supported for regular expressions")));
300 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
301 return iswdigit((wint_t)
c);
305 isdigit((
unsigned char)
c));
308 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
336 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
337 return iswalpha((wint_t)
c);
341 isalpha((
unsigned char)
c));
344 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
372 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
373 return iswalnum((wint_t)
c);
377 isalnum((
unsigned char)
c));
380 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
417 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
418 return iswupper((wint_t)
c);
422 isupper((
unsigned char)
c));
425 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
453 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
454 return iswlower((wint_t)
c);
458 islower((
unsigned char)
c));
461 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
489 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
490 return iswgraph((wint_t)
c);
494 isgraph((
unsigned char)
c));
497 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
525 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
526 return iswprint((wint_t)
c);
530 isprint((
unsigned char)
c));
533 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
561 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
562 return iswpunct((wint_t)
c);
566 ispunct((
unsigned char)
c));
569 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
597 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
598 return iswspace((wint_t)
c);
602 isspace((
unsigned char)
c));
605 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
637 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
638 return towupper((wint_t)
c);
645 return toupper((
unsigned char)
c);
649 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
681 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
682 return towlower((wint_t)
c);
689 return tolower((
unsigned char)
c);
693 if (
sizeof(
wchar_t) >= 4 ||
c <= (
pg_wchar) 0xFFFF)
838 #if MAX_SIMPLE_CHR >= 127
851 #if MAX_SIMPLE_CHR >= UCHAR_MAX
871 for (cur_chr = 0; cur_chr <= max_chr; cur_chr++)
873 if ((*probefunc) (cur_chr))
875 else if (nmatches > 0)
877 if (!
store_match(pcc, cur_chr - nmatches, nmatches))
884 if (!
store_match(pcc, cur_chr - nmatches, nmatches))
#define OidIsValid(objectId)
int errhint(const char *fmt,...)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
int GetDatabaseEncoding(void)
pg_locale_t pg_newlocale_from_collation(Oid collid)
bool lc_ctype_is_c(Oid collation)
bool pg_locale_deterministic(pg_locale_t locale)
unsigned char pg_ascii_tolower(unsigned char ch)
unsigned char pg_ascii_toupper(unsigned char ch)
static int pg_wc_islower(pg_wchar c)
static int pg_wc_isword(pg_wchar c)
static int pg_wc_isspace(pg_wchar c)
static pg_wchar pg_wc_tolower(pg_wchar c)
static int pg_wc_ispunct(pg_wchar c)
static pg_ctype_cache * pg_ctype_cache_list
static int pg_wc_isgraph(pg_wchar c)
static pg_wchar pg_wc_toupper(pg_wchar c)
static struct cvec * pg_ctype_get_cache(pg_wc_probefunc probefunc, int cclasscode)
static bool store_match(pg_ctype_cache *pcc, pg_wchar chr1, int nchrs)
static int pg_wc_isprint(pg_wchar c)
static int pg_wc_isalnum(pg_wchar c)
int(* pg_wc_probefunc)(pg_wchar c)
static int pg_wc_isdigit(pg_wchar c)
static PG_Locale_Strategy pg_regex_strategy
@ PG_REGEX_LOCALE_1BYTE_L
void pg_set_regex_collation(Oid collation)
static Oid pg_regex_collation
static pg_locale_t pg_regex_locale
static int pg_wc_isupper(pg_wchar c)
static int pg_wc_isalpha(pg_wchar c)
static const unsigned char pg_char_properties[128]
struct pg_ctype_cache pg_ctype_cache
pg_wc_probefunc probefunc
struct pg_ctype_cache * next
union pg_locale_struct::@143 info