aboutsummaryrefslogtreecommitdiff
path: root/src/include/regex/regex.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2012-07-10 18:00:39 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2012-07-10 18:00:39 -0400
commit18c8dc32ce6759a8837f01e3dd0036cd19ee8683 (patch)
treed2d058f0f362cf22af5856a4e20cc7f814835f87 /src/include/regex/regex.h
parentf12960d8c9ce454a37c2082549b7766ce36627d2 (diff)
downloadpostgresql-18c8dc32ce6759a8837f01e3dd0036cd19ee8683.tar.gz
postgresql-18c8dc32ce6759a8837f01e3dd0036cd19ee8683.zip
Back-patch fix for extraction of fixed prefixes from regular expressions.
Back-patch of commits 628cbb50ba80c83917b07a7609ddec12cda172d0 and c6aae3042be5249e672b731ebeb21875b5343010. This has been broken since 7.3, so back-patch to all supported branches.
Diffstat (limited to 'src/include/regex/regex.h')
-rw-r--r--src/include/regex/regex.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/include/regex/regex.h b/src/include/regex/regex.h
index cec4b837cd1..616c2c6450d 100644
--- a/src/include/regex/regex.h
+++ b/src/include/regex/regex.h
@@ -156,6 +156,9 @@ typedef struct
/* two specials for debugging and testing */
#define REG_ATOI 101 /* convert error-code name to number */
#define REG_ITOA 102 /* convert error-code number to name */
+/* non-error result codes for pg_regprefix */
+#define REG_PREFIX (-1) /* identified a common prefix */
+#define REG_EXACT (-2) /* identified an exact match */
@@ -164,6 +167,7 @@ typedef struct
*/
extern int pg_regcomp(regex_t *, const pg_wchar *, size_t, int, Oid);
extern int pg_regexec(regex_t *, const pg_wchar *, size_t, size_t, rm_detail_t *, size_t, regmatch_t[], int);
+extern int pg_regprefix(regex_t *, pg_wchar **, size_t *);
extern void pg_regfree(regex_t *);
extern size_t pg_regerror(int, const regex_t *, char *, size_t);
extern void pg_set_regex_collation(Oid collation);