Re: Fix missing EvalPlanQual recheck for TID scans
David G. Johnston <david.g.johnston@gmail.com>
From: "David G. Johnston" <david.g.johnston@gmail.com>
To: Chao Li <li.evan.chao@gmail.com>
Cc: Sophie Alpert <pg@sophiebits.com>, David Rowley <dgrowleyml@gmail.com>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2025-09-15T06:27:37Z
Lists: pgsql-hackers
On Sunday, September 14, 2025, Chao Li <li.evan.chao@gmail.com> wrote: > > evantest=*# update t set b=30 where id = 1; > > evantest=*# update t set b = 30; # block here > ``` > > 1 | 5 | 30 <=== only the old tuple is updated > > Can’t test right now myself but I believe you’ll find this much more illustrative if you don’t have both S1 and S2 set the same column to the same value when doing their updates. Also, include ctid in the select outputs. If the second update would have been a=10 your final output should be 1,10,30 - I.e. you’d find that both updates applied to id=1 after the second commit finished, and three tuples exist where id=1. David J.
Commits
-
Add missing EPQ recheck for TID Range Scan
- f78a69034740 14.20 landed
- f00ad440a5b6 15.15 landed
- ba0203880a8f 16.11 landed
- 0fb06e893331 17.7 landed
- 78e6047dcea5 18.0 landed
- ac06ea8f7b6c 19 (unreleased) landed
-
Add missing EPQ recheck for TID Scan
- 940f3cd5df57 13.23 landed
- 2eb7ea97d8af 14.20 landed
- 005770203889 15.15 landed
- d6539f88b7c5 16.11 landed
- 3d939a9b1c72 17.7 landed
- bae6c74ba4e4 18.0 landed
- dee21ea6d617 19 (unreleased) landed
-
Repair problems with EvalPlanQual where target table is scanned as
- 6799a6ca21e5 7.2.1 cited
-
Tid access method feature from Hiroshi Inoue, Inoue@tpf.co.jp
- 6f9ff92cc0ff 7.1.1 cited