Adjust string comparison so that only bitwise-equal strings are considered
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 22 Dec 2005 22:50:00 +0000 (22:50 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 22 Dec 2005 22:50:00 +0000 (22:50 +0000)
commit656beff59033ccc5261a615802e1a85da68e8fad
tree70bb7da9a720ed4a83fccc144f21c45c63ca0752
parent7b53b45a643f466d2fe039dc0865a70d0f1d736e
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.
src/backend/access/hash/hashfunc.c
src/backend/utils/adt/varchar.c
src/backend/utils/adt/varlena.c