Re: union all bug? - Mailing list pgsql-hackers

From Tom Lane
Subject Re: union all bug?
Date
Msg-id 28986.1150648261@sss.pgh.pa.us
Whole thread Raw
In response to union all bug?  (Joe Conway <mail@joeconway.com>)
Responses Re: union all bug?  ("Gurjeet Singh" <singh.gurjeet@gmail.com>)
Re: union all bug?  (Joe Conway <mail@joeconway.com>)
List pgsql-hackers
Joe Conway <mail@joeconway.com> writes:
> I was trying to work around limitations with "partitioning" of tables 
> using constraint exclusion, when I ran across this little oddity:

I think you're under a misimpression about the syntax behavior of ORDER
BY and UNION.  Per spec, ORDER BY binds less tightly than UNION, thus
select foo union select bar order by x

means
(select foo union select bar) order by x

If you want to apply ORDER BY to either arm of a union individually,
you need parentheses, eg
(select foo order by x) union (select bar order by x)

(Note that this construct fails to guarantee that the output of the
union will be sorted by x!)  LIMIT is not in the spec but we treat
it like ORDER BY for this purpose.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Joe Conway
Date:
Subject: union all bug?
Next
From: "Gurjeet Singh"
Date:
Subject: Re: union all bug?