mirror of
https://github.com/postgres/postgres.git
synced 2025-11-21 00:42:43 +03:00
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.
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
|
||||
#include "postgres.h"
|
||||
|
||||
#include "catalog/pg_collation.h"
|
||||
#include "tsearch/dicts/spell.h"
|
||||
#include "tsearch/ts_locale.h"
|
||||
#include "utils/memutils.h"
|
||||
@@ -425,7 +426,9 @@ NIAddAffix(IspellDict *Conf, int flag, char flagflags, const char *mask, const c
|
||||
wmask = (pg_wchar *) tmpalloc((masklen + 1) * sizeof(pg_wchar));
|
||||
wmasklen = pg_mb2wchar_with_len(tmask, wmask, masklen);
|
||||
|
||||
err = pg_regcomp(&(Affix->reg.regex), wmask, wmasklen, REG_ADVANCED | REG_NOSUB);
|
||||
err = pg_regcomp(&(Affix->reg.regex), wmask, wmasklen,
|
||||
REG_ADVANCED | REG_NOSUB,
|
||||
DEFAULT_COLLATION_OID);
|
||||
if (err)
|
||||
{
|
||||
char errstr[100];
|
||||
|
||||
Reference in New Issue
Block a user