Thread: pgsql: Fix fetching default toast value during decoding of in-progress
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_16_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/0f0e253dbf9ed60e037e9b90120404e385c8377b Modified Files -------------- contrib/test_decoding/expected/stream.out | 22 ++++++++++++++++++++++ contrib/test_decoding/sql/stream.sql | 22 ++++++++++++++++++++++ src/backend/access/index/genam.c | 16 ++++++++++++++++ 3 files changed, 60 insertions(+)