On Mon, Sep 18, 2006 at 09:30:43AM -0400, Stephen Frost wrote:
> * Tom Lane (tgl@sss.pgh.pa.us) wrote:
> > The reason for this behavior is that analyze.c attaches the CREATE TABLE
> > AS aliases to the targetlist (via applyColumnNames) before it processes
> > the ORDER BY clause. (So, "order by z2" works instead.) This seems
> > like a bug: one would expect that the aliases do not change the
> > semantics of the SELECT part of the command.
>
> I'd tend to agree that it seems like a bug but I'm a little mystified as
> to why an 'order by' would be desired (or allowed) for a 'create table as'
> at all. Allowing it seems to imply it has some meaning.
Because if the ORDER BY is honored, the newly created table will be
clustered in a specific order. That can be very useful in certain
applications.
--
Jim Nasby jimn@enterprisedb.com
EnterpriseDB http://enterprisedb.com 512.569.9461 (cell)