On 08/22/2012 08:36 AM, Denis Kolesnik wrote:
I have now VERY strong argument to consider it is as a bug:

if there a understandable for SQL language sequence which sorts
in other fashion when adding "LIMIT".

Underspecified sorts can have unstable results, that's allowed by the spec and is a reasonable performance optimisation. If you want stable sorts you have to provide a fully defined ordering.

To say this is a bug is a bit like saying that undefined behaviour in C is a bug. It isn't, the language and compiler are giving you what they're supposed to, just not what you want.

http://en.wikipedia.org/wiki/Undefined_behavior

Unstable sorts are a common optimisation

http://en.wikipedia.org/wiki/Sorting_algorithm#Stability

and a very useful one. Not allowing Pg to use unstable sorts, or use different sorts for different query plans, would slow correct queries down to make an incorrect query like yours run how you expect.

--
Craig Ringer


--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to