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
This commit is contained in:
Peter Eisentraut 2020-04-11 15:07:25 +02:00
parent 5a1d0c9925
commit 12fb189bfe

View File

@ -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);