From: Peter Eisentraut Date: Sat, 11 Apr 2020 13:07:25 +0000 (+0200) Subject: Fix RELCACHE_FORCE_RELEASE issue X-Git-Tag: REL_13_BETA1~268 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=12fb189bfeaf03faea5b6f15544c1f71e9ef4677;p=thirdparty%2Fpostgresql.git 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 --- 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);