pgsql: Fix SQL:2008 FETCH FIRST syntax to allow parameters.

From: Andrew Gierth <rhodiumtoad(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix SQL:2008 FETCH FIRST syntax to allow parameters.
Date: 2018-05-21 16:28:10
Message-ID: E1fKnfO-0005oe-PF@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix SQL:2008 FETCH FIRST syntax to allow parameters.

OFFSET <x> ROWS FETCH FIRST <y> ROWS ONLY syntax is supposed to accept
<simple value specification>, which includes parameters as well as
literals. When this syntax was added all those years ago, it was done
inconsistently, with <x> and <y> being different subsets of the
standard syntax.

Rectify that by making <x> and <y> accept the same thing, and allowing
either a (signed) numeric literal or a c_expr there, which allows for
parameters, variables, and parenthesized arbitrary expressions.

Per bug #15200 from Lukas Eder.

Backpatch all the way, since this has been broken from the start.

Discussion: https://postgr.es/m/877enz476l.fsf@news-spur.riddles.org.uk
Discussion: http://postgr.es/m/152647780335.27204.16895288237122418685@wrigleys.postgresql.org

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/1da162e1f5a783bd0ce26e6a07c0138dc8a47d44

Modified Files
--------------
doc/src/sgml/ref/select.sgml | 10 +++++----
src/backend/parser/gram.y | 49 +++++++++++++++++++++++++++++---------------
2 files changed, 39 insertions(+), 20 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2018-05-21 16:30:17 pgsql: Translation updates
Previous Message Peter Eisentraut 2018-05-21 16:16:42 pgsql: Update key words table for version 11