pgsql: Error out if SKIP LOCKED and WITH TIES are both specified

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Error out if SKIP LOCKED and WITH TIES are both specified
Date: 2021-10-01 21:31:17
Message-ID: E1mWQ7h-0000VJ-19@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Error out if SKIP LOCKED and WITH TIES are both specified

Both bugs #16676[1] and #17141[2] illustrate that the combination of
SKIP LOCKED and FETCH FIRST WITH TIES break expectations when it comes
to rows returned to other sessions accessing the same row. Since this
situation is detectable from the syntax and hard to fix otherwise,
forbid for now, with the potential to fix in the future.

[1] https://postgr.es/m/16676-fd62c3c835880da6@postgresql.org
[2] https://postgr.es/m/17141-913d78b9675aac8e@postgresql.org

Backpatch-through: 13, where WITH TIES was introduced
Author: David Christensen <david(dot)christensen(at)crunchydata(dot)com>
Discussion: https://postgr.es/m/CAOxo6XLPccCKru3xPMaYDpa+AXyPeWFs+SskrrL+HKwDjJnLhg@mail.gmail.com

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/170206e458bce1d4be34bb805f884b2735430519

Modified Files
--------------
doc/src/sgml/ref/select.sgml | 3 ++-
src/backend/commands/matview.c | 3 ++-
src/backend/parser/gram.y | 15 +++++++++++++++
src/test/regress/expected/limit.out | 5 +++++
src/test/regress/sql/limit.sql | 5 +++++
5 files changed, 29 insertions(+), 2 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Andres Freund 2021-10-01 22:34:41 pgsql: Reference test binary using TESTDIR in 001_libpq_pipeline.pl.
Previous Message Alvaro Herrera 2021-10-01 21:31:16 pgsql: Error out if SKIP LOCKED and WITH TIES are both specified