Allow ON UPDATE/DELETE SET DEFAULT plans to be cached.
Tom Lane <tgl@sss.pgh.pa.us>
Allow ON UPDATE/DELETE SET DEFAULT plans to be cached. Once upon a time, somebody was worried that cached RI plans wouldn't get remade with new default values after ALTER TABLE ... SET DEFAULT, so they didn't allow caching of plans for ON UPDATE/DELETE SET DEFAULT actions. That time is long gone, though (and even at the time I doubt this was the greatest hazard posed by ALTER TABLE...). So allow these triggers to cache their plans just like the others. The cache_plan argument to ri_PlanCheck is now vestigial, since there are no callers that don't pass "true"; but I left it alone in case there is any future need for it.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/utils/adt/ri_triggers.c | modified | +12 −12 |
| src/test/regress/expected/foreign_key.out | modified | +36 −0 |
| src/test/regress/sql/foreign_key.sql | modified | +17 −0 |