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]