diff --git a/src/backend/replication/pgoutput/pgoutput.c b/src/backend/replication/pgoutput/pgoutput.c index c9e0cdcdeb9..624ceb813b8 100644 --- a/src/backend/replication/pgoutput/pgoutput.c +++ b/src/backend/replication/pgoutput/pgoutput.c @@ -31,6 +31,7 @@ #include "utils/builtins.h" #include "utils/inval.h" #include "utils/int8.h" +#include "utils/lsyscache.h" #include "utils/memutils.h" #include "utils/syscache.h" #include "utils/varlena.h" @@ -430,8 +431,7 @@ pgoutput_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, /* prepare context per tuple */ ecxt = GetPerTupleExprContext(estate); oldcxt = MemoryContextSwitchTo(estate->es_query_cxt); - ecxt->ecxt_scantuple = ExecInitExtraTupleSlot(estate); - ExecSetSlotDescriptor(ecxt->ecxt_scantuple, tupdesc); + ecxt->ecxt_scantuple = ExecInitExtraTupleSlot(estate, tupdesc); ExecStoreTuple(new_tuple ? new_tuple : old_tuple, ecxt->ecxt_scantuple, InvalidBuffer, false);