Greg Stark <gsst...@mit.edu> writes: > On Tue, Mar 8, 2011 at 3:21 PM, Tom Lane <t...@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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers