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:16
Message-ID: E1mWQ7g-0000VE-UH@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
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/c6bc655ee2ef09449da7ff688a8be19a13db5c4a

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 Alvaro Herrera 2021-10-01 21:31:17 pgsql: Error out if SKIP LOCKED and WITH TIES are both specified
Previous Message Alvaro Herrera 2021-10-01 21:04:02 pgsql: Remove unstable, unnecessary test; fix typo