From: | tgl(at)postgresql(dot)org (Tom Lane) |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Adjust string comparison so that only bitwise-equal strings are |
Date: | 2005-12-22 22:50:07 |
Message-ID: | 20051222225007.3EA4E9DCA5C@postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Log Message:
-----------
Adjust string comparison so that only bitwise-equal strings are considered
equal: if strcoll claims two strings are equal, check it with strcmp, and
sort according to strcmp if not identical. This fixes inconsistent
behavior under glibc's hu_HU locale, and probably under some other locales
as well. Also, take advantage of the now-well-defined behavior to speed up
texteq, textne, bpchareq, bpcharne: they may as well just do a bitwise
comparison and not bother with strcoll at all.
NOTE: affected databases may need to REINDEX indexes on text columns to be
sure they are self-consistent.
Tags:
----
REL8_1_STABLE
Modified Files:
--------------
pgsql/src/backend/access/hash:
hashfunc.c (r1.45 -> r1.45.2.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/hash/hashfunc.c.diff?r1=1.45&r2=1.45.2.1)
pgsql/src/backend/utils/adt:
varchar.c (r1.113 -> r1.113.2.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/varchar.c.diff?r1=1.113&r2=1.113.2.1)
varlena.c (r1.139.2.1 -> r1.139.2.2)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/varlena.c.diff?r1=1.139.2.1&r2=1.139.2.2)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2005-12-22 22:50:15 | pgsql: Adjust string comparison so that only bitwise-equal strings are |
Previous Message | Tom Lane | 2005-12-22 22:50:00 | pgsql: Adjust string comparison so that only bitwise-equal strings are |