Don't throw an error for LOCK TABLE on a self-referential view.
Tom Lane <tgl@sss.pgh.pa.us>
Don't throw an error for LOCK TABLE on a self-referential view. LOCK TABLE has complained about "infinite recursion" when applied to a self-referential view, ever since we made it recurse into views in v11. However, that breaks pg_dump's new assumption that it's okay to lock every relation. There doesn't seem to be any good reason to throw an error: if we just abandon the recursion, we've still satisfied the requirement of locking every referenced relation. Per bug #16703 from Andrew Bille (via Alexander Lakhin). Discussion: https://postgr.es/m/16703-e348f58aab3cf6cc@postgresql.org
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/commands/lockcmds.c | modified | +12 −9 |
| src/test/regress/expected/lock.out | modified | +1 −3 |
| src/test/regress/sql/lock.sql | modified | +1 −1 |
Discussion
- BUG #16703: pg-dump fails to process recursive view definition 9 messages · 2020-11-05 → 2020-11-06