Use a virtual rather than a heap slot in two places where that suffices.
authorAndres Freund <[email protected]>
Sat, 2 Mar 2019 01:24:57 +0000 (17:24 -0800)
committerAndres Freund <[email protected]>
Sat, 2 Mar 2019 01:26:43 +0000 (17:26 -0800)
Author: Andres Freund
Discussion: https://postgr.es/m/20180703070645[email protected]

src/backend/executor/execPartition.c
src/backend/replication/logical/worker.c

index e121c6c8ff555df5717629880dd31dfb55d8ec8b..e41801662b397eccd1a5ac518988b37d358e2e22 100644 (file)
@@ -1009,7 +1009,7 @@ ExecInitPartitionDispatchInfo(PartitionTupleRouting *proute, Oid partoid,
                                                       tupdesc,
                                                       gettext_noop("could not convert row type"));
        pd->tupslot = pd->tupmap ?
-           MakeSingleTupleTableSlot(tupdesc, &TTSOpsHeapTuple) : NULL;
+           MakeSingleTupleTableSlot(tupdesc, &TTSOpsVirtual) : NULL;
    }
    else
    {
index 27934cb4a90b34f2bdf615feebe8aa0cc338d61a..a5e5007e8105140b506f48e54b1f62083bfa24c3 100644 (file)
@@ -591,7 +591,7 @@ apply_handle_insert(StringInfo s)
    estate = create_estate_for_relation(rel);
    remoteslot = ExecInitExtraTupleSlot(estate,
                                        RelationGetDescr(rel->localrel),
-                                       &TTSOpsHeapTuple);
+                                       &TTSOpsVirtual);
 
    /* Input functions may need an active snapshot, so get one */
    PushActiveSnapshot(GetTransactionSnapshot());