EvalPlanQual was thoroughly broken for concurrent update/delete on inheritance
Tom Lane <tgl@sss.pgh.pa.us>
EvalPlanQual was thoroughly broken for concurrent update/delete on inheritance trees (mostly my fault). Repair. Also fix long-standing bug in ExecReplace: after recomputing a concurrently updated tuple, we must recheck constraints. Make EvalPlanQual leak memory with somewhat less enthusiasm than before, although plugging leaks fully will require more changes than I care to risk in a dot-release.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/executor/execMain.c | modified | +203 −145 |
| src/backend/executor/nodeAppend.c | modified | +35 −15 |
| src/include/nodes/execnodes.h | modified | +5 −1 |