aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/execTuples.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/executor/execTuples.c')
-rw-r--r--src/backend/executor/execTuples.c47
1 files changed, 0 insertions, 47 deletions
diff --git a/src/backend/executor/execTuples.c b/src/backend/executor/execTuples.c
index 3b13e5be7eb..6aab933fbc0 100644
--- a/src/backend/executor/execTuples.c
+++ b/src/backend/executor/execTuples.c
@@ -88,7 +88,6 @@
#include "nodes/nodeFuncs.h"
#include "storage/bufmgr.h"
#include "utils/builtins.h"
-#include "utils/expandeddatum.h"
#include "utils/lsyscache.h"
#include "utils/typcache.h"
@@ -813,52 +812,6 @@ ExecCopySlot(TupleTableSlot *dstslot, TupleTableSlot *srcslot)
return ExecStoreTuple(newTuple, dstslot, InvalidBuffer, true);
}
-/* --------------------------------
- * ExecMakeSlotContentsReadOnly
- * Mark any R/W expanded datums in the slot as read-only.
- *
- * This is needed when a slot that might contain R/W datum references is to be
- * used as input for general expression evaluation. Since the expression(s)
- * might contain more than one Var referencing the same R/W datum, we could
- * get wrong answers if functions acting on those Vars thought they could
- * modify the expanded value in-place.
- *
- * For notational reasons, we return the same slot passed in.
- * --------------------------------
- */
-TupleTableSlot *
-ExecMakeSlotContentsReadOnly(TupleTableSlot *slot)
-{
- /*
- * sanity checks
- */
- Assert(slot != NULL);
- Assert(slot->tts_tupleDescriptor != NULL);
- Assert(!slot->tts_isempty);
-
- /*
- * If the slot contains a physical tuple, it can't contain any expanded
- * datums, because we flatten those when making a physical tuple. This
- * might change later; but for now, we need do nothing unless the slot is
- * virtual.
- */
- if (slot->tts_tuple == NULL)
- {
- Form_pg_attribute *att = slot->tts_tupleDescriptor->attrs;
- int attnum;
-
- for (attnum = 0; attnum < slot->tts_nvalid; attnum++)
- {
- slot->tts_values[attnum] =
- MakeExpandedObjectReadOnly(slot->tts_values[attnum],
- slot->tts_isnull[attnum],
- att[attnum]->attlen);
- }
- }
-
- return slot;
-}
-
/* ----------------------------------------------------------------
* convenience initialization routines