]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Don't throw an error for LOCK TABLE on a self-referential view.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 5 Nov 2020 16:44:32 +0000 (11:44 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 5 Nov 2020 16:44:32 +0000 (11:44 -0500)
commit44b973b91029cb5aecf09d589bdf3f05cfddaa60
treefa216a3dad59fe5048bc373f548baee8b3936ff0
parent02c9386ca4f706364904be2720e2d09916e2b619
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
src/backend/commands/lockcmds.c
src/test/regress/expected/lock.out
src/test/regress/sql/lock.sql