pgsql: Rethink behavior of CREATE OR REPLACE during CREATE EXTENSION. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Rethink behavior of CREATE OR REPLACE during CREATE EXTENSION.
Date
Msg-id E1QkjIo-0003si-T5@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Rethink behavior of CREATE OR REPLACE during CREATE EXTENSION.

The original implementation simply did nothing when replacing an existing
object during CREATE EXTENSION.  The folly of this was exposed by a report
from Marc Munro: if the existing object belongs to another extension, we
are left in an inconsistent state.  We should insist that the object does
not belong to another extension, and then add it to the current extension
if not already a member.

Branch
------
REL9_1_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/eb15f26d577a11319b9429fb84f752a0135918db

Modified Files
--------------
src/backend/catalog/heap.c          |    2 +-
src/backend/catalog/pg_collation.c  |    2 +-
src/backend/catalog/pg_conversion.c |    2 +-
src/backend/catalog/pg_depend.c     |   32 +++++++++++++++++++++++++++++++-
src/backend/catalog/pg_namespace.c  |    2 +-
src/backend/catalog/pg_operator.c   |    2 +-
src/backend/catalog/pg_proc.c       |    6 ++----
src/backend/catalog/pg_type.c       |   11 +++++------
src/backend/commands/foreigncmds.c  |    6 +++---
src/backend/commands/functioncmds.c |   10 +++++-----
src/backend/commands/opclasscmds.c  |    4 ++--
src/backend/commands/proclang.c     |    6 ++----
src/backend/commands/tsearchcmds.c  |    9 ++++-----
src/include/catalog/dependency.h    |    3 ++-
14 files changed, 61 insertions(+), 36 deletions(-)


pgsql-committers by date:

Previous
From: Robert Haas
Date:
Subject: pgsql: Unbreak unlogged tables.
Next
From: Tom Lane
Date:
Subject: pgsql: Rethink behavior of CREATE OR REPLACE during CREATE EXTENSION.