---------------------------------------------------------------- * ExecEndSeqScan * * frees any storage allocated through C routines. * ---------------------------------------------------------------- */
| 242 | * ---------------------------------------------------------------- |
| 243 | */ |
| 244 | void |
| 245 | ExecEndSeqScan(SeqScanState *node) |
| 246 | { |
| 247 | TableScanDesc scanDesc; |
| 248 | |
| 249 | /* |
| 250 | * get information from node |
| 251 | */ |
| 252 | scanDesc = node->ss.ss_currentScanDesc; |
| 253 | |
| 254 | /* |
| 255 | * Free the exprcontext |
| 256 | */ |
| 257 | ExecFreeExprContext(&node->ss.ps); |
| 258 | |
| 259 | /* |
| 260 | * clean out the tuple table |
| 261 | */ |
| 262 | if (node->ss.ps.ps_ResultTupleSlot) |
| 263 | ExecClearTuple(node->ss.ps.ps_ResultTupleSlot); |
| 264 | ExecClearTuple(node->ss.ss_ScanTupleSlot); |
| 265 | |
| 266 | /* |
| 267 | * close heap scan |
| 268 | */ |
| 269 | if (scanDesc != NULL) |
| 270 | table_endscan(scanDesc); |
| 271 | } |
| 272 | |
| 273 | /* ---------------------------------------------------------------- |
| 274 | * Join Support |
no test coverage detected