Adjust string comparison so that only bitwise-equal strings are considered

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 0862aeaeec46153337df89c9c0d4d25e6d5c7713
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2005-12-22T22:50:22Z
Releases: 7.4.11
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.

Files

PathChange+/−
src/backend/utils/adt/varchar.c modified +14 −6
src/backend/utils/adt/varlena.c modified +22 −5