* ExecGetResultSlotOps - information about node's type of result slot */
| 553 | * ExecGetResultSlotOps - information about node's type of result slot |
| 554 | */ |
| 555 | const TupleTableSlotOps * |
| 556 | ExecGetResultSlotOps(PlanState *planstate, bool *isfixed) |
| 557 | { |
| 558 | if (planstate->resultopsset && planstate->resultops) |
| 559 | { |
| 560 | if (isfixed) |
| 561 | *isfixed = planstate->resultopsfixed; |
| 562 | return planstate->resultops; |
| 563 | } |
| 564 | |
| 565 | if (isfixed) |
| 566 | { |
| 567 | if (planstate->resultopsset) |
| 568 | *isfixed = planstate->resultopsfixed; |
| 569 | else if (planstate->ps_ResultTupleSlot) |
| 570 | *isfixed = TTS_FIXED(planstate->ps_ResultTupleSlot); |
| 571 | else |
| 572 | *isfixed = false; |
| 573 | } |
| 574 | |
| 575 | if (!planstate->ps_ResultTupleSlot) |
| 576 | return &TTSOpsVirtual; |
| 577 | |
| 578 | return planstate->ps_ResultTupleSlot->tts_ops; |
| 579 | } |
| 580 | |
| 581 | |
| 582 | /* ---------------- |
no outgoing calls
no test coverage detected