46 (
errcode(ERRCODE_INDETERMINATE_COLLATION),
47 errmsg(
"could not determine which collation to use for regular expression"),
48 errhint(
"Use the COLLATE clause to set the collation explicitly.")));
53 if (!
locale->deterministic)
55 (
errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
56 errmsg(
"nondeterministic collations are not supported for regular expressions")));
316#if MAX_SIMPLE_CHR >= 127
340 for (cur_chr = 0; cur_chr <= max_chr; cur_chr++)
342 if ((*probefunc) (cur_chr))
344 else if (nmatches > 0)
346 if (!
store_match(pcc, cur_chr - nmatches, nmatches))
353 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,...)
pg_locale_t pg_newlocale_from_collation(Oid collid)
static const unsigned char pg_char_properties[128]
unsigned char pg_ascii_tolower(unsigned char ch)
unsigned char pg_ascii_toupper(unsigned char ch)
int(* regc_wc_probefunc)(pg_wchar c)
static int regc_wc_isdigit(pg_wchar c)
static struct cvec * regc_ctype_get_cache(regc_wc_probefunc probefunc, int cclasscode)
static int regc_wc_ispunct(pg_wchar c)
static pg_ctype_cache * pg_ctype_cache_list
static int regc_wc_isalnum(pg_wchar c)
static bool store_match(pg_ctype_cache *pcc, pg_wchar chr1, int nchrs)
static int regc_wc_islower(pg_wchar c)
static pg_wchar regc_wc_toupper(pg_wchar c)
static int regc_wc_isupper(pg_wchar c)
static int regc_wc_isalpha(pg_wchar c)
static int regc_wc_isgraph(pg_wchar c)
static int regc_wc_isprint(pg_wchar c)
void pg_set_regex_collation(Oid collation)
static int regc_wc_isword(pg_wchar c)
static pg_locale_t pg_regex_locale
static pg_wchar regc_wc_tolower(pg_wchar c)
static int regc_wc_isspace(pg_wchar c)
struct pg_ctype_cache pg_ctype_cache
pg_wchar(* wc_toupper)(pg_wchar wc, pg_locale_t locale)
bool(* wc_ispunct)(pg_wchar wc, pg_locale_t locale)
bool(* wc_isprint)(pg_wchar wc, pg_locale_t locale)
bool(* wc_isalpha)(pg_wchar wc, pg_locale_t locale)
pg_wchar(* wc_tolower)(pg_wchar wc, pg_locale_t locale)
bool(* wc_isupper)(pg_wchar wc, pg_locale_t locale)
bool(* wc_isspace)(pg_wchar wc, pg_locale_t locale)
bool(* wc_isgraph)(pg_wchar wc, pg_locale_t locale)
bool(* wc_islower)(pg_wchar wc, pg_locale_t locale)
bool(* wc_isalnum)(pg_wchar wc, pg_locale_t locale)
bool(* wc_isdigit)(pg_wchar wc, pg_locale_t locale)
regc_wc_probefunc probefunc
struct pg_ctype_cache * next
const struct ctype_methods * ctype