-------------------------------- * ExecFetchSlotMinimalTuple * Fetch the slot's minimal physical tuple. * * If the given tuple table slot can hold a minimal tuple, indicated by a * non-NULL get_minimal_tuple callback, the function returns the minimal * tuple returned by that callback. It assumes that the minimal tuple * returned by the callback is "owned" by the slot i.e. the slot is
| 1706 | * -------------------------------- |
| 1707 | */ |
| 1708 | MinimalTuple |
| 1709 | ExecFetchSlotMinimalTuple(TupleTableSlot *slot, |
| 1710 | bool *shouldFree) |
| 1711 | { |
| 1712 | /* |
| 1713 | * sanity checks |
| 1714 | */ |
| 1715 | Assert(slot != NULL); |
| 1716 | Assert(!TTS_EMPTY(slot)); |
| 1717 | |
| 1718 | if (slot->tts_ops->get_minimal_tuple) |
| 1719 | { |
| 1720 | if (shouldFree) |
| 1721 | *shouldFree = false; |
| 1722 | return slot->tts_ops->get_minimal_tuple(slot); |
| 1723 | } |
| 1724 | else |
| 1725 | { |
| 1726 | if (shouldFree) |
| 1727 | *shouldFree = true; |
| 1728 | return slot->tts_ops->copy_minimal_tuple(slot); |
| 1729 | } |
| 1730 | } |
| 1731 | |
| 1732 | /* -------------------------------- |
| 1733 | * ExecFetchSlotHeapTupleDatum |
no outgoing calls
no test coverage detected