Re: 8.4b1: Query returning results in different order to 8.3

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
Cc: Ian Barwick <barwick(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: 8.4b1: Query returning results in different order to 8.3
Date: 2009-04-18 21:22:46
Message-ID: 23286.1240089766@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> writes:
> 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.

This is mentioned in the release notes, but I suppose we'd better
promote it to the "observe the following incompatibilities" list...

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2009-04-18 21:41:21 Re: [GENERAL] Performance of full outer join in 8.3
Previous Message Andrew Dunstan 2009-04-18 18:44:19 Re: 8.4b1: Query returning results in different order to 8.3