diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2011-04-10 18:02:17 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2011-04-10 18:03:09 -0400 |
commit | 1e16a8107db9a50435b39e09c6f9c52c45e63e1a (patch) | |
tree | bf2231fc078b46004c7814ba871e3c38c1d8d52d /src/backend/libpq/hba.c | |
parent | 210f95f1cd59c6fdfe0f84b922c19d8498ac377d (diff) | |
download | postgresql-1e16a8107db9a50435b39e09c6f9c52c45e63e1a.tar.gz postgresql-1e16a8107db9a50435b39e09c6f9c52c45e63e1a.zip |
Teach regular expression operators to honor collations.
This involves getting the character classification and case-folding
functions in the regex library to use the collations infrastructure.
Most of this work had been done already in connection with the upper/lower
and LIKE logic, so it was a simple matter of transposition.
While at it, split out these functions into a separate source file
regc_pg_locale.c, so that they can be correctly labeled with the Postgres
project's license rather than the Scriptics license. These functions are
100% Postgres-written code whereas what remains in regc_locale.c is still
mostly not ours, so lumping them both under the same copyright notice was
getting more and more misleading.
Diffstat (limited to 'src/backend/libpq/hba.c')
-rw-r--r-- | src/backend/libpq/hba.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/libpq/hba.c b/src/backend/libpq/hba.c index 1f79c8fe007..f25505feb38 100644 --- a/src/backend/libpq/hba.c +++ b/src/backend/libpq/hba.c @@ -25,6 +25,7 @@ #include <arpa/inet.h> #include <unistd.h> +#include "catalog/pg_collation.h" #include "libpq/ip.h" #include "libpq/libpq.h" #include "regex/regex.h" @@ -1781,7 +1782,7 @@ parse_ident_usermap(List *line, int line_number, const char *usermap_name, * XXX: Major room for optimization: regexps could be compiled when * the file is loaded and then re-used in every connection. */ - r = pg_regcomp(&re, wstr, wlen, REG_ADVANCED); + r = pg_regcomp(&re, wstr, wlen, REG_ADVANCED, C_COLLATION_OID); if (r) { char errstr[100]; |