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?
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.
--
greg