From: Andrew Gierth <andrew@tao11.riddles.org.uk>
To: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: Surafel Temesgen <surafel3000@gmail.com>
Cc: Tomas Vondra <tomas.vondra@2ndquadrant.com>
Cc: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Subject: Re: FETCH FIRST clause WITH TIES option
Date: Wed, 08 Apr 2020 03:01:33 +0100
Message-ID: <87a73mn4cl.fsf@news-spur.riddles.org.uk> (raw)
In-Reply-To: <20200407203654.GA15931@alvherre.pgsql>
References: <20200407203654.GA15931@alvherre.pgsql>
>>>>> "Alvaro" == Alvaro Herrera <alvherre@2ndquadrant.com> writes:
Alvaro> It turns out that the SQL standard is much more limited in what
Alvaro> it will accept there. But our grammar (what we'll accept for
Alvaro> the ancient LIMIT clause) is very lenient -- it'll take just
Alvaro> any expression. I thought about reducing that to NumericOnly
Alvaro> for FETCH FIRST .. WITH TIES, but then I have to pick: 1)
Alvaro> gram.y fails to compile because of a reduce/reduce conflict, or
Alvaro> 2) also restricting FETCH FIRST .. ONLY to NumericOnly. Neither
Alvaro> of those seemed very palatable.
FETCH FIRST ... ONLY was made _too_ restrictive initially, such that it
didn't allow parameters (which are allowed by the spec); see 1da162e1f.
(That change didn't present a problem for ruleutils, because FETCH FIRST
... ONLY is output as a LIMIT clause instead.)
This needs to be fixed in ruleutils, IMO, not by changing what the
grammar accepts.
--
Andrew.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: andrew@tao11.riddles.org.uk, alvherre@2ndquadrant.com, surafel3000@gmail.com, tomas.vondra@2ndquadrant.com
Subject: Re: FETCH FIRST clause WITH TIES option
In-Reply-To: <87a73mn4cl.fsf@news-spur.riddles.org.uk>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox