Re: 8.4b1: Query returning results in different order to 8.3 - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: 8.4b1: Query returning results in different order to 8.3
Date
Msg-id 49EA09AA.2040900@enterprisedb.com
Whole thread Raw
In response to 8.4b1: Query returning results in different order to 8.3  (Ian Barwick <barwick@gmail.com>)
Responses Re: 8.4b1: Query returning results in different order to 8.3
List pgsql-hackers
Ian Barwick wrote:
> Note I'm not sure whether this is a bug, or whether the assumption
> made for the original query (that the row order returned by the
> subquery would be carried over to the main part of the query) is
> incorrect but just happened to work as expected pre-8.4.

The latter. Without an ORDER BY (at the outermost level), the order of 
the result is not well defined. Before 8.4, UNION was always performed 
by a Sort + Unique, which explains why the output is always sorted in 
previous releases. 8.4 knows how to perform it with a Hash Aggregate, 
which doesn't yield sorted output. You can look at the EXPLAIN output to 
see the difference.

--   Heikki Linnakangas  EnterpriseDB   http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: Ian Barwick
Date:
Subject: 8.4b1: Query returning results in different order to 8.3
Next
From: Andrew Dunstan
Date:
Subject: Re: 8.4b1: Query returning results in different order to 8.3