pgsql: Fix fetching default toast value during decoding of in-progress

From: Amit Kapila <akapila(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix fetching default toast value during decoding of in-progress
Date: 2024-10-07 10:22:57
Message-ID: E1sxktF-002XJd-Ms@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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

Branch
------
REL_14_STABLE

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

Modified Files
--------------
contrib/test_decoding/expected/stream.out | 20 ++++++++++++++++++++
contrib/test_decoding/sql/stream.sql | 18 ++++++++++++++++++
src/backend/access/index/genam.c | 16 ++++++++++++++++
3 files changed, 54 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Daniel Gustafsson 2024-10-07 10:44:19 Re: pgsql: Fix fetching default toast value during decoding of in-progress
Previous Message Daniel Gustafsson 2024-10-07 09:53:01 pgsql: doc: Quote value in SET NAMES documentation