Обсуждение: pgsql: Adjust string comparison so that only bitwise-equal strings are

Поиск
Список
Период
Сортировка

pgsql: Adjust string comparison so that only bitwise-equal strings are

От
tgl@postgresql.org (Tom Lane)
Дата:
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.

Modified Files:
--------------
    pgsql/src/backend/access/hash:
        hashfunc.c (r1.45 -> r1.46)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/hash/hashfunc.c.diff?r1=1.45&r2=1.46)
    pgsql/src/backend/utils/adt:
        varchar.c (r1.113 -> r1.114)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/varchar.c.diff?r1=1.113&r2=1.114)
        varlena.c (r1.141 -> r1.142)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/varlena.c.diff?r1=1.141&r2=1.142)