From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Gregory Stark <stark(at)enterprisedb(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: EquivalenceClasses vs volatile functions |
Date: | 2007-11-07 05:29:59 |
Message-ID: | 7931.1194413399@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Gregory Stark <stark(at)enterprisedb(dot)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) ss
order 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
From | Date | Subject | |
---|---|---|---|
Next Message | Hannu Krosing | 2007-11-07 09:10:19 | Re: Test lab |
Previous Message | Tom Lane | 2007-11-07 05:24:24 | Re: Beta2 crash / create type + tsearch2 |