On Wed, 18 May 2016 20:29:26 +1000 "dandl" <david at andl.org> wrote:
> > 2. Otherwise, if exactly the number of specified rows must be > > returned without other restrictions, then the result is possibly > > indeterminate. > > I agree, with one tiny tweak. The SQL standard already notes that > certain queries of this kind are "implementation-dependent". Here is > an example. > > "If the <declare cursor> does not contain an <order by clause>, or > contains an <order by clause> that [...] Anything implementation-dependent depends on the implementation. Ergo, it is not mathematicaly defined. It has no theoretical basis. Darren Duncan <darren at darrenduncan.net> wrote: > The options with point 1 are not only deterministic but fully > relational. Darren, I agree one could define LIMIT to be deterministic. But, as you know, deterministic does not imply relational. The point I've made consistently is that the input to LIMIT is not a value in the database. As such, it couldn't be a relational operator, and it's no surprise it appears nowhere in the literature. Crowning it "fully relational" is stuff and nonsense. I personally don't see any value in making it deterministic. The best use of LIMIT is to control command-line output while inspecting the data. Pretty much every other use invites error. Deterministic error doesn't look like much of an improvement to me. --jkl