Re: Collation versioning

From: Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk>
To: Douglas Doole <dougdoole(at)gmail(dot)com>
Cc: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, Christoph Berg <myon(at)debian(dot)org>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Collation versioning
Date: 2018-09-16 18:39:12
Message-ID: 87pnxdjnu9.fsf@news-spur.riddles.org.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

>>>>> "Douglas" == Douglas Doole <dougdoole(at)gmail(dot)com> writes:

Douglas> And constraints problems are even easier than triggers.
Douglas> Consider a database with complex BI rules that are implemented
Douglas> through triggers that fire when values are/are not equal. If
Douglas> the equality of strings change, there could be bad data
Douglas> throughout the tables.

Perhaps fortunately, collation changes cannot (in PG) affect the
equality or non-equality of strings (at least of text/varchar/char
types, citext is a different matter). For the builtin string types, PG
follows the rule that if the collation calls the values equal, they are
ordered secondarily in codepoint order; only byte-identical values can
actually be equal (we need this in order for hashing to work in the
absence of a strxfrm implementation that we can trust).

(This is the same rule used for string comparisons in Perl.)

--
Andrew (irc:RhodiumToad)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2018-09-16 18:41:08 Re: ssl tests README and certs
Previous Message Douglas Doole 2018-09-16 18:12:51 Re: Collation versioning