MCPcopy Create free account
hub / github.com/apache/cloudberry / ExecFetchSlotHeapTuple

Function ExecFetchSlotHeapTuple

src/backend/executor/execTuples.c:1660–1685  ·  view source on GitHub ↗

* ExecFetchSlotHeapTuple - fetch HeapTuple representing the slot's content * * The returned HeapTuple represents the slot's content as closely as * possible. * * If materialize is true, the contents of the slots will be made independent * from the underlying storage (i.e. all buffer pins are released, memory is * allocated in the slot's context). * * If shouldFree is not-NULL it'll be set

Source from the content-addressed store, hash-verified

1658 * behaviour, all such modifications are in the process of being removed.
1659 */
1660HeapTuple
1661ExecFetchSlotHeapTuple(TupleTableSlot *slot, bool materialize, bool *shouldFree)
1662{
1663 /*
1664 * sanity checks
1665 */
1666 Assert(slot != NULL);
1667 Assert(!TTS_EMPTY(slot));
1668
1669 /* Materialize the tuple so that the slot "owns" it, if requested. */
1670 if (materialize)
1671 slot->tts_ops->materialize(slot);
1672
1673 if (slot->tts_ops->get_heap_tuple == NULL)
1674 {
1675 if (shouldFree)
1676 *shouldFree = true;
1677 return slot->tts_ops->copy_heap_tuple(slot);
1678 }
1679 else
1680 {
1681 if (shouldFree)
1682 *shouldFree = false;
1683 return slot->tts_ops->get_heap_tuple(slot);
1684 }
1685}
1686
1687/* --------------------------------
1688 * ExecFetchSlotMinimalTuple

Callers 15

apply_returning_filterFunction · 0.85
ExecBRInsertTriggersFunction · 0.85
ExecIRInsertTriggersFunction · 0.85
ExecBRDeleteTriggersFunction · 0.85
ExecBRUpdateTriggersFunction · 0.85
ExecIRUpdateTriggersFunction · 0.85
AfterTriggerExecuteFunction · 0.85
heapam_tuple_insertFunction · 0.85
heapam_tuple_updateFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected