aboutsummaryrefslogtreecommitdiff
path: root/src/include/executor
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2019-02-26 17:59:01 -0800
committerAndres Freund <andres@anarazel.de>2019-02-26 17:59:01 -0800
commit8aa02b52db11039925191912eca71e3584b68860 (patch)
tree905a1ff148f79b24137f894b35135e24c309c0dc /src/include/executor
parentf4b6341d5fcb627d51b3fc89527aa5eaa659fb2e (diff)
downloadpostgresql-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.h3
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);