Re: Theory of operation of collation patch - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Theory of operation of collation patch
Date
Msg-id 23898.1299609097@sss.pgh.pa.us
Whole thread Raw
In response to Re: Theory of operation of collation patch  (Greg Stark <gsstark@mit.edu>)
List pgsql-hackers
Greg Stark <gsstark@mit.edu> writes:
> On Tue, Mar 8, 2011 at 3:21 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Not so right. �A path key contains an expression tree, plus whatever
>> *additional* information is needed to fully specify the sort ordering.
>> If the collation is already fully determined by the expression tree,
>> there is no need to duplicate that information in the PathKey node.
>> And, as I said, doing so anyway has real negative consequences.

> Isn't the reason to copy that information outside the expression so
> that we can choose sometimes to ignore it? Namely, for == we can use
> an index with any defined collation even if it doesn't match the
> collation in the pathkey we're looking for?

No, that's nonsense.  A PathKey is all about sort order.  It is not
relevant in any situation where sort order is ignorable.

> I think currently that's the only example but in theory we could have
> collations that are "supersets" of the desired collation. For example
> a UTF8 collation that sorts english in the desired way and sorts utf8
> characters in some way that isn't relevant to the query.

That sounds like nonsense as well.  There is no such thing as a superset
ordering: to have such a thing, you'd have to have some orderings that
didn't fully determine the ordering of data values, which is pretty much
unworkable.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Greg Stark
Date:
Subject: Re: Theory of operation of collation patch
Next
From: Andrew Dunstan
Date:
Subject: Re: Beginner question: Hacking environment?