Error out if SKIP LOCKED and WITH TIES are both specified
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 1 Oct 2021 21:29:18 +0000 (18:29 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 1 Oct 2021 21:29:18 +0000 (18:29 -0300)
commit170206e458bce1d4be34bb805f884b2735430519
treec017ac7c85e6b4f13cd62d5184985d2eb90d30ba
parent7adbe186f7fd7e036d2cab7d8ed8ee99354ec219
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.christensen@crunchydata.com>
Discussion: https://postgr.es/m/CAOxo6XLPccCKru3xPMaYDpa+AXyPeWFs+SskrrL+HKwDjJnLhg@mail.gmail.com
doc/src/sgml/ref/select.sgml
src/backend/commands/matview.c
src/backend/parser/gram.y
src/test/regress/expected/limit.out
src/test/regress/sql/limit.sql