-
- Downloads
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.
Showing
- doc/src/sgml/charset.sgml 22 additions, 11 deletionsdoc/src/sgml/charset.sgml
- src/backend/libpq/hba.c 2 additions, 1 deletionsrc/backend/libpq/hba.c
- src/backend/regex/Makefile 2 additions, 1 deletionsrc/backend/regex/Makefile
- src/backend/regex/regc_locale.c 0 additions, 165 deletionssrc/backend/regex/regc_locale.c
- src/backend/regex/regc_pg_locale.c 649 additions, 0 deletionssrc/backend/regex/regc_pg_locale.c
- src/backend/regex/regcomp.c 10 additions, 2 deletionssrc/backend/regex/regcomp.c
- src/backend/regex/regexec.c 3 additions, 0 deletionssrc/backend/regex/regexec.c
- src/backend/tsearch/spell.c 4 additions, 1 deletionsrc/backend/tsearch/spell.c
- src/backend/utils/adt/regexp.c 32 additions, 10 deletionssrc/backend/utils/adt/regexp.c
- src/include/regex/regex.h 3 additions, 1 deletionsrc/include/regex/regex.h
- src/test/regress/expected/collate.linux.utf8.out 74 additions, 0 deletionssrc/test/regress/expected/collate.linux.utf8.out
- src/test/regress/sql/collate.linux.utf8.sql 18 additions, 0 deletionssrc/test/regress/sql/collate.linux.utf8.sql
Loading
Please register or sign in to comment