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