Re: Sort order in sub-select - Mailing list pgsql-performance

From Tom Lane
Subject Re: Sort order in sub-select
Date
Msg-id 20650.1151648466@sss.pgh.pa.us
Whole thread Raw
In response to Sort order in sub-select  ("Craig A. James" <cjames@modgraph-usa.com>)
List pgsql-performance
"Craig A. James" <cjames@modgraph-usa.com> writes:
>   insert into hitlist(p_id, sortorder)
>     (select p_id, nextval('hitlist_seq') from
>        (select p_id, min(data) as m from c group by p_id order by m);

> Apparently, the sort order returned by the innermost select is NOT
> maintained as you go through the next select statement -- the rows seem
> to come out in random order.  This surprised me.

It surprises me too.  This is outside the SQL spec, because the spec
doesn't allow ORDER BY in subselects, but Postgres definitely does and
we expect it to be honored.  Can you provide a complete example and the
EXPLAIN plan that you're getting?

            regards, tom lane

pgsql-performance by date:

Previous
From: Tom Lane
Date:
Subject: Re: explain analyze reports 20x more time than actual
Next
From: Josh Berkus
Date:
Subject: FWD: Update touches unrelated indexes?