From b9edaa784e407d1b6e890b776c607a26f3aa7e49 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 10 Jul 2012 18:00:51 -0400 Subject: 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. --- src/include/regex/regex.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/include/regex/regex.h') diff --git a/src/include/regex/regex.h b/src/include/regex/regex.h index abd90bc07c0..52857a28894 100644 --- a/src/include/regex/regex.h +++ b/src/include/regex/regex.h @@ -155,6 +155,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 */ @@ -163,6 +166,7 @@ typedef struct */ extern int pg_regcomp(regex_t *, const pg_wchar *, size_t, int); 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); -- cgit v1.2.3