Re: EquivalenceClasses vs volatile functions - Mailing list pgsql-hackers

From Tom Lane
Subject Re: EquivalenceClasses vs volatile functions
Date
Msg-id 7931.1194413399@sss.pgh.pa.us
Whole thread Raw
In response to Re: EquivalenceClasses vs volatile functions  (Gregory Stark <stark@enterprisedb.com>)
List pgsql-hackers
Gregory Stark <stark@enterprisedb.com> writes:
> What if the equivalence class is in more than one place in the ORDER BY? 

That's not a problem.  ORDER BY 1,1 is not different from ORDER BY 1,
even if the referenced expression is volatile, because the secondary
sort key is useless anyway.

> And what would happen when you pull up subqueries?

I think I know how to deal with that.  The worst case would be that
select * from (select random() as a from foo order by a) ssorder by ss.a

would incur two sorts instead of one because we fail to acknowledge the
subquery's sort key as being the same thing as the upper query's.  It
*should* be possible to avoid that, but if it gets too complicated I'll
leave it on the table for 8.4.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Beta2 crash / create type + tsearch2
Next
From: Peter Eisentraut
Date:
Subject: Re: Weird type selection choice