CVS log for pgsql/src/backend/regex/regc_locale.c
Up to [PostgreSQL CVS Repository] / pgsql / src / backend / regex
Request diff between arbitrary revisions - Display revisions graphically
Keyword substitution: kv
Default branch: MAIN
Revision 1.10: download - view: text, markup, annotated - select for diffs
Tue Dec 1 21:00:24 2009 UTC (15 years, 9 months ago) by tgl
Branches: MAIN
CVS tags: REL9_1_ALPHA1,
REL9_0_STABLE,
REL9_0_RC1,
REL9_0_BETA4,
REL9_0_BETA3,
REL9_0_BETA2,
REL9_0_BETA1,
REL9_0_ALPHA5_BRANCH,
REL9_0_ALPHA5,
REL9_0_ALPHA4_BRANCH,
REL9_0_ALPHA4,
REL9_0_0,
REL8_5_ALPHA3_BRANCH,
REL8_5_ALPHA3,
HEAD
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +105 -13
lines
Teach the regular expression functions to do case-insensitive matching and
locale-dependent character classification properly when the database encoding
is UTF8.
The previous coding worked okay in single-byte encodings, or in any case for
ASCII characters, but failed entirely on multibyte characters. The fix
assumes that the <wctype.h> functions use Unicode code points as the wchar
representation for Unicode, ie, wchar matches pg_wchar.
This is only a partial solution, since we're still stupid about non-ASCII
characters in multibyte encodings other than UTF8. The practical effect
of that is limited, however, since those cases are generally Far Eastern
glyphs for which concepts like case-folding don't apply anyway. Certainly
all or nearly all of the field reports of problems have been about UTF8.
A more general solution would require switching to the platform's wchar
representation for all regex operations; which is possible but would have
substantial disadvantages. Let's try this and see if it's sufficient in
practice.
Revision 1.9: download - view: text, markup, annotated - select for diffs
Thu Feb 14 17:33:37 2008 UTC (17 years, 6 months ago) by tgl
Branches: MAIN
CVS tags: REL8_5_ALPHA2_BRANCH,
REL8_5_ALPHA2,
REL8_5_ALPHA1_BRANCH,
REL8_5_ALPHA1,
REL8_4_STABLE,
REL8_4_RC2,
REL8_4_RC1,
REL8_4_BETA2,
REL8_4_BETA1,
REL8_4_4,
REL8_4_3,
REL8_4_2,
REL8_4_1,
REL8_4_0
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +29 -61
lines
Sync our regex code with upstream changes since last time we did this, which
was Tcl 8.4.8. The main changes are to remove the never-fully-implemented
code for multi-character collating elements, and to const-ify some stuff a
bit more fully. In combination with the recent security patch, this commit
brings us into line with Tcl 8.5.0.
Note that I didn't make any effort to duplicate a lot of cosmetic changes
that they made to bring their copy into line with their own style
guidelines, such as adding braces around single-line IF bodies. Most of
those we either had done already (such as ANSI-fication of function headers)
or there is no point because pgindent would undo the change anyway.
Revision 1.7.2.1: download - view: text, markup, annotated - select for diffs
Tue Nov 22 18:23:16 2005 UTC (19 years, 9 months ago) by momjian
Branches: REL8_1_STABLE
CVS tags: REL8_1_9,
REL8_1_8,
REL8_1_7,
REL8_1_6,
REL8_1_5,
REL8_1_4,
REL8_1_3,
REL8_1_21,
REL8_1_20,
REL8_1_2,
REL8_1_19,
REL8_1_18,
REL8_1_17,
REL8_1_16,
REL8_1_15,
REL8_1_14,
REL8_1_13,
REL8_1_12,
REL8_1_11,
REL8_1_10,
REL8_1_1
Diff to: previous 1.7: preferred, colored; next MAIN 1.8: preferred, colored
Changes since revision 1.7: +3 -2
lines
Re-run pgindent, fixing a problem where comment lines after a blank
comment line where output as too long, and update typedefs for /lib
directory. Also fix case where identifiers were used as variable names
in the backend, but as typedefs in ecpg (favor the backend for
indenting).
Backpatch to 8.1.X.
Revision 1.8: download - view: text, markup, annotated - select for diffs
Tue Nov 22 18:17:19 2005 UTC (19 years, 9 months ago) by momjian
Branches: MAIN
CVS tags: REL8_3_STABLE,
REL8_3_RC2,
REL8_3_RC1,
REL8_3_BETA4,
REL8_3_BETA3,
REL8_3_BETA2,
REL8_3_BETA1,
REL8_3_9,
REL8_3_8,
REL8_3_7,
REL8_3_6,
REL8_3_5,
REL8_3_4,
REL8_3_3,
REL8_3_2,
REL8_3_11,
REL8_3_10,
REL8_3_1,
REL8_3_0,
REL8_2_STABLE,
REL8_2_RC1,
REL8_2_BETA3,
REL8_2_BETA2,
REL8_2_BETA1,
REL8_2_9,
REL8_2_8,
REL8_2_7,
REL8_2_6,
REL8_2_5,
REL8_2_4,
REL8_2_3,
REL8_2_2,
REL8_2_17,
REL8_2_16,
REL8_2_15,
REL8_2_14,
REL8_2_13,
REL8_2_12,
REL8_2_11,
REL8_2_10,
REL8_2_1,
REL8_2_0
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +3 -2
lines
Re-run pgindent, fixing a problem where comment lines after a blank
comment line where output as too long, and update typedefs for /lib
directory. Also fix case where identifiers were used as variable names
in the backend, but as typedefs in ecpg (favor the backend for
indenting).
Backpatch to 8.1.X.
Revision 1.7: download - view: text, markup, annotated - select for diffs
Sat Oct 15 02:49:24 2005 UTC (19 years, 11 months ago) by momjian
Branches: MAIN
CVS tags: REL8_1_0RC1,
REL8_1_0BETA4,
REL8_1_0
Branch point for: REL8_1_STABLE
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +5 -7
lines
Standard pgindent run for 8.1.
Revision 1.6: download - view: text, markup, annotated - select for diffs
Fri May 7 00:24:57 2004 UTC (21 years, 4 months ago) by tgl
Branches: MAIN
CVS tags: REL8_1_0BETA3,
REL8_1_0BETA2,
REL8_1_0BETA1,
REL8_0_STABLE,
REL8_0_9,
REL8_0_8,
REL8_0_7,
REL8_0_6,
REL8_0_5,
REL8_0_4,
REL8_0_3,
REL8_0_25,
REL8_0_24,
REL8_0_23,
REL8_0_22,
REL8_0_21,
REL8_0_20,
REL8_0_2,
REL8_0_19,
REL8_0_18,
REL8_0_17,
REL8_0_16,
REL8_0_15,
REL8_0_14,
REL8_0_13,
REL8_0_12,
REL8_0_11,
REL8_0_10,
REL8_0_1,
REL8_0_0RC5,
REL8_0_0RC4,
REL8_0_0RC3,
REL8_0_0RC2,
REL8_0_0RC1,
REL8_0_0BETA5,
REL8_0_0BETA4,
REL8_0_0BETA3,
REL8_0_0BETA2,
REL8_0_0BETA1,
REL8_0_0
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +25 -25
lines
Solve the 'Turkish problem' with undesirable locale behavior for case
conversion of basic ASCII letters. Remove all uses of strcasecmp and
strncasecmp in favor of new functions pg_strcasecmp and pg_strncasecmp;
remove most but not all direct uses of toupper and tolower in favor of
pg_toupper and pg_tolower. These functions use the same notions of
case folding already developed for identifier case conversion. I left
the straight locale-based folding in place for situations where we are
just manipulating user data and not trying to match it to built-in
strings --- for example, the SQL upper() function is still locale
dependent. Perhaps this will prove not to be what's wanted, but at
the moment we can initdb and pass regression tests in Turkish locale.
Revision 1.5: download - view: text, markup, annotated - select for diffs
Sat Nov 29 19:51:55 2003 UTC (21 years, 9 months ago) by pgsql
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +1 -1
lines
$Header: -> $PostgreSQL Changes ...
Revision 1.4: download - view: text, markup, annotated - select for diffs
Mon Sep 29 00:21:58 2003 UTC (21 years, 11 months ago) by tgl
Branches: MAIN
CVS tags: REL7_4_STABLE,
REL7_4_RC2,
REL7_4_RC1,
REL7_4_BETA5,
REL7_4_BETA4,
REL7_4_9,
REL7_4_8,
REL7_4_7,
REL7_4_6,
REL7_4_5,
REL7_4_4,
REL7_4_3,
REL7_4_29,
REL7_4_28,
REL7_4_27,
REL7_4_26,
REL7_4_25,
REL7_4_24,
REL7_4_23,
REL7_4_22,
REL7_4_21,
REL7_4_20,
REL7_4_2,
REL7_4_19,
REL7_4_18,
REL7_4_17,
REL7_4_16,
REL7_4_15,
REL7_4_14,
REL7_4_13,
REL7_4_12,
REL7_4_11,
REL7_4_10,
REL7_4_1,
REL7_4
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +19 -4
lines
Fix broken definition of :print: character class, per Bruno Wolff.
Also, make :alnum: character class directly dependent on isalnum()
rather than guessing.
Revision 1.3: download - view: text, markup, annotated - select for diffs
Fri Aug 8 21:41:56 2003 UTC (22 years, 1 month ago) by momjian
Branches: MAIN
CVS tags: WIN32_DEV,
REL7_4_BETA3,
REL7_4_BETA2
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +7 -7
lines
Another pgindent run with updated typedefs.
Revision 1.2: download - view: text, markup, annotated - select for diffs
Mon Aug 4 00:43:21 2003 UTC (22 years, 1 month ago) by momjian
Branches: MAIN
CVS tags: REL7_4_BETA1
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +604 -388
lines
pgindent run.
Revision 1.1: download - view: text, markup, annotated - select for diffs
Wed Feb 5 17:41:32 2003 UTC (22 years, 7 months ago) by tgl
Branches: MAIN
Replace regular expression package with Henry Spencer's latest version
(extracted from Tcl 8.4.1 release, as Henry still hasn't got round to
making it a separate library). This solves a performance problem for
multibyte, as well as upgrading our regexp support to match recent Tcl
and nearly match recent Perl.
PostgreSQL CVSweb <webmaster@postgresql.org>