Re: Negative LIMIT and OFFSET?

Simon Riggs <simon@2ndquadrant.com>

From: Simon Riggs <simon@2ndquadrant.com>
To: Neil Conway <neilc@samurai.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Andrew Sullivan <ajs@crankycanuck.ca>, pgsql-hackers@postgresql.org
Date: 2007-12-14T14:41:49Z
Lists: pgsql-hackers

Attachments

On Thu, 2007-12-13 at 22:23 -0800, Neil Conway wrote:
> On Thu, 2007-12-13 at 22:06 -0500, Tom Lane wrote:
> > I guess that on purely philosophical grounds, it's not an unreasonable
> > behavior.  For example, "LIMIT n" means "output at most n tuples",
> > not "output exactly n tuples".  So when it outputs no tuples in the face
> > of a negative limit, it's meeting its spec.
> 
> If "LIMIT n" means "emit at most n tuples", then a query that produces 0
> rows with n < 0 is arguably violating its spec, since it has produced
> more tuples than the LIMIT specified (0 > n). Interpreted this way, no
> result set can be consistent with a negative limit, so I'd vote for
> throwing an error.

I even found an existing, unused error message called
ERRCODE_INVALID_LIMIT_VALUE

so here's a patch.

-- 
  Simon Riggs
  2ndQuadrant  http://www.2ndQuadrant.com