* Node ModifyTableState's squelched is never set to true. * Because in the standard_ExecutorFinish->ExecPostprocessPlan * may call ExecProcNodeGPDB on it. */
| 3780 | * may call ExecProcNodeGPDB on it. |
| 3781 | */ |
| 3782 | void |
| 3783 | ExecSquelchModifyTable(ModifyTableState *node, bool force) |
| 3784 | { |
| 3785 | if (node->ps.squelched) |
| 3786 | return; |
| 3787 | /* |
| 3788 | * ModifyTable nodes must run to completion when asked to Squelch so |
| 3789 | * that we don't risk losing modifications which should be performed |
| 3790 | * regardless of any LIMIT's or other forms for projections which could |
| 3791 | * end up causing a squelch to happen. |
| 3792 | */ |
| 3793 | for (;;) |
| 3794 | { |
| 3795 | TupleTableSlot *result; |
| 3796 | |
| 3797 | result = ExecModifyTable(&node->ps); |
| 3798 | if (!result) |
| 3799 | break; |
| 3800 | } |
| 3801 | } |
| 3802 | |
| 3803 | /* |
| 3804 | * notify_modified_relations_to_QD |
no test coverage detected