On Thu, 2007-12-13 at 22:06 -0500, Tom Lane wrote:

> Hmm ... I don't recall much either.  The code in nodeLimit.c just
> silently replaces a negative input value by zero.  It'd certainly be
> possible to make it throw an error instead, but what the downsides of
> that might be aren't clear.
> 
> 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.  

Not bothered either way, really, just reporting weirdness as it comes.

A calculated LIMIT value that was negative probably indicates an error
in the calculation that the SQL programmer may wish to know about. I had
previously assumed that we would report such errors.

> If you want to throw an
> error for negative limit, shouldn't you logically also throw an error
> for limit larger than the actual number of rows produced by the subplan?

No, thats another feature AT LEAST n, which could also be a useful
thing, like an Assert.

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


---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to