]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Fix fetching default toast value during decoding of in-progress transactions.
authorAmit Kapila <akapila@postgresql.org>
Mon, 7 Oct 2024 09:15:39 +0000 (14:45 +0530)
committerAmit Kapila <akapila@postgresql.org>
Mon, 7 Oct 2024 09:15:39 +0000 (14:45 +0530)
commitefe706e273cec0ec83b4d72190fed6b000bd11fd
tree5d17ffb6aefaa5f5a977507c633ac2a81cc0653b
parent3922c9e9f3de7fee04249c9d65be172432b878cf
Fix fetching default toast value during decoding of in-progress transactions.

During logical decoding of in-progress transactions, we perform the toast
table scan while fetching the default toast value for an attribute. We
forgot to initialize the flag during this scan to indicate that the system
table scan is in progress. We need this flag to ensure that during logical
decoding we never directly access the tableam or heap APIs because we check
for concurrent aborts only in systable_* APIs.

Reported-by: Alexander Lakhin
Author: Takeshi Ideriha, Hou Zhijie
Reviewed-by: Amit Kapila, Hou Zhijie
Backpatch-through: 14
Discussion: https://postgr.es/m/18641-6687273b7f15269d@postgresql.org
contrib/test_decoding/expected/stream.out
contrib/test_decoding/sql/stream.sql
src/backend/access/index/genam.c