-------------------------------- * ExecDropSingleTupleTableSlot * * Release a TupleTableSlot made with MakeSingleTupleTableSlot. * DON'T use this on a slot that's part of a tuple table list! * -------------------------------- */
| 1268 | * -------------------------------- |
| 1269 | */ |
| 1270 | void |
| 1271 | ExecDropSingleTupleTableSlot(TupleTableSlot *slot) |
| 1272 | { |
| 1273 | /* This should match ExecResetTupleTable's processing of one slot */ |
| 1274 | Assert(IsA(slot, TupleTableSlot)); |
| 1275 | ExecClearTuple(slot); |
| 1276 | slot->tts_ops->release(slot); |
| 1277 | if (slot->tts_tupleDescriptor) |
| 1278 | ReleaseTupleDesc(slot->tts_tupleDescriptor); |
| 1279 | if (!TTS_FIXED(slot)) |
| 1280 | { |
| 1281 | if (slot->tts_values) |
| 1282 | pfree(slot->tts_values); |
| 1283 | if (slot->tts_isnull) |
| 1284 | pfree(slot->tts_isnull); |
| 1285 | } |
| 1286 | pfree(slot); |
| 1287 | } |
| 1288 | |
| 1289 | |
| 1290 | /* ---------------------------------------------------------------- |