diff options
author | Andres Freund <andres@anarazel.de> | 2019-02-26 17:59:01 -0800 |
---|---|---|
committer | Andres Freund <andres@anarazel.de> | 2019-02-26 17:59:01 -0800 |
commit | 8aa02b52db11039925191912eca71e3584b68860 (patch) | |
tree | 905a1ff148f79b24137f894b35135e24c309c0dc /src/include/executor | |
parent | f4b6341d5fcb627d51b3fc89527aa5eaa659fb2e (diff) | |
download | postgresql-8aa02b52db11039925191912eca71e3584b68860.tar.gz postgresql-8aa02b52db11039925191912eca71e3584b68860.zip |
Add ExecStorePinnedBufferHeapTuple.
This allows to avoid an unnecessary pin/unpin cycle when storing a
tuple in an already pinned buffer into a slot, when the pin isn't
further needed at the call site.
Only a single caller for now (to ensure coverage), but upcoming
patches will increase use of the new function.
Author: Andres Freund
Discussion: https://postgr.es/m/20180703070645.wchpu5muyto5n647@alap3.anarazel.de
Diffstat (limited to 'src/include/executor')
-rw-r--r-- | src/include/executor/tuptable.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/include/executor/tuptable.h b/src/include/executor/tuptable.h index b6267dbf7af..8da0b84dd7e 100644 --- a/src/include/executor/tuptable.h +++ b/src/include/executor/tuptable.h @@ -305,6 +305,9 @@ extern void ExecForceStoreHeapTuple(HeapTuple tuple, TupleTableSlot *slot); extern TupleTableSlot *ExecStoreBufferHeapTuple(HeapTuple tuple, TupleTableSlot *slot, Buffer buffer); +extern TupleTableSlot *ExecStorePinnedBufferHeapTuple(HeapTuple tuple, + TupleTableSlot *slot, + Buffer buffer); extern TupleTableSlot *ExecStoreMinimalTuple(MinimalTuple mtup, TupleTableSlot *slot, bool shouldFree); |