]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Avoid duplicates in ALTER ... DEPENDS ON EXTENSION
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Wed, 11 Mar 2020 14:04:59 +0000 (11:04 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Wed, 11 Mar 2020 14:04:59 +0000 (11:04 -0300)
commit899a04f5ed61c3db7a2bd84957ecf530c09fd05a
treec9245a308085bda6c99ae82223a0f72c1c00a298
parent1c918381814ca6ff976aab2bf130b0c582ca30e4
Avoid duplicates in ALTER ... DEPENDS ON EXTENSION

If the command is attempted for an extension that the object already
depends on, silently do nothing.

In particular, this means that if a database containing multiple such
entries is dumped, the restore will silently do the right thing and
record just the first one.  (At least, in a world where pg_dump does
dump such entries -- which it doesn't currently, but it will.)

Backpatch to 9.6, where this kind of dependency was introduced.

Reviewed-by: Ibrar Ahmed, Tom Lane (offlist)
Discussion: https://postgr.es/m/20200217225333.GA30974@alvherre.pgsql
src/backend/catalog/pg_depend.c
src/backend/commands/alter.c
src/include/catalog/dependency.h
src/test/modules/test_extensions/expected/test_extdepend.out
src/test/modules/test_extensions/sql/test_extdepend.sql