postgres.git / summary / log / commit / refs
commit 12fb189bfeaf03faea5b6f15544c1f71e9ef4677
Author: Peter Eisentraut <peter@eisentraut.org>
Date: Sat Apr 11 13:07:25 2020 +0000
First released in: 13.0
Fix RELCACHE_FORCE_RELEASE issue
Introduced by 83fd4532a72179c370e318075a10e0e2aa832024. To fix, the
tuple descriptors need to be copied into the current memory context.
Discussion: https://www.postgresql.org/message-id/04d78603-edae-9243-9dde-fe3037176a7d@2ndquadrant.com
src/backend/replication/pgoutput/pgoutput.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/backend/replication/pgoutput/pgoutput.c b/src/backend/replication/pgoutput/pgoutput.c
index 5fbf2d4367b..77b85fc6557 100644
--- a/src/backend/replication/pgoutput/pgoutput.c
+++ b/src/backend/replication/pgoutput/pgoutput.c
@@ -305,7 +305,8 @@ maybe_send_schema(LogicalDecodingContext *ctx,
/* Map must live as long as the session does. */
oldctx = MemoryContextSwitchTo(CacheMemoryContext);
- relentry->map = convert_tuples_by_name(indesc, outdesc);
+ relentry->map = convert_tuples_by_name(CreateTupleDescCopy(indesc),
+ CreateTupleDescCopy(outdesc));
MemoryContextSwitchTo(oldctx);
send_relation_and_attrs(ancestor, ctx);
RelationClose(ancestor);
[parent: 5a1d0c9925fb]