Minor fixes in contrib installation scripts.

Extension scripts should never use CREATE OR REPLACE for initial object
creation.  If there is a collision with a pre-existing (probably
user-created) object, we want extension installation to fail, not silently
overwrite the user's object.  Bloom and sslinfo both violated this precept.

Also fix a number of scripts that had no standard header (the file name
comment and the \echo...\quit guard).  Probably the \echo...\quit hack
is less important now than it was in 9.1 days, but that doesn't mean
that individual extensions get to choose whether to use it or not.

And fix a couple of evident copy-and-pasteos in file name comments.

No need for back-patch: the REPLACE bugs are both new in 9.6, and the
rest of this is pretty much cosmetic.

Andreas Karlsson and Tom Lane
This commit is contained in:
Tom Lane 2016-06-14 10:47:06 -04:00
parent 332fdbef20
commit 5484c0a980
13 changed files with 50 additions and 5 deletions

View File

@ -1,4 +1,9 @@
CREATE OR REPLACE FUNCTION blhandler(internal)
/* contrib/bloom/bloom--1.0.sql */
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "CREATE EXTENSION bloom" to load this file. \quit
CREATE FUNCTION blhandler(internal)
RETURNS index_am_handler
AS 'MODULE_PATHNAME'
LANGUAGE C;

View File

@ -1,3 +1,8 @@
/* contrib/hstore_plperl/hstore_plperl--1.0.sql */
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "CREATE EXTENSION hstore_plperl" to load this file. \quit
-- make sure the prerequisite libraries are loaded
LOAD 'plperl';
SELECT NULL::hstore;

View File

@ -1,3 +1,8 @@
/* contrib/hstore_plperl/hstore_plperlu--1.0.sql */
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "CREATE EXTENSION hstore_plperlu" to load this file. \quit
-- make sure the prerequisite libraries are loaded
LOAD 'plperl';
SELECT NULL::hstore;

View File

@ -1,3 +1,8 @@
/* contrib/hstore_plpython/hstore_plpython2u--1.0.sql */
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "CREATE EXTENSION hstore_plpython2u" to load this file. \quit
-- make sure the prerequisite libraries are loaded
LOAD 'plpython2';
SELECT NULL::hstore;

View File

@ -1,3 +1,8 @@
/* contrib/hstore_plpython/hstore_plpython3u--1.0.sql */
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "CREATE EXTENSION hstore_plpython3u" to load this file. \quit
-- make sure the prerequisite libraries are loaded
LOAD 'plpython3';
SELECT NULL::hstore;

View File

@ -1,3 +1,8 @@
/* contrib/hstore_plpython/hstore_plpythonu--1.0.sql */
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "CREATE EXTENSION hstore_plpythonu" to load this file. \quit
-- make sure the prerequisite libraries are loaded
LOAD 'plpython2'; -- change to plpython3 if that ever becomes the default
SELECT NULL::hstore;

View File

@ -1,3 +1,8 @@
/* contrib/ltree_plpython/ltree_plpython2u--1.0.sql */
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "CREATE EXTENSION ltree_plpython2u" to load this file. \quit
-- make sure the prerequisite libraries are loaded
LOAD 'plpython2';
SELECT NULL::ltree;

View File

@ -1,3 +1,8 @@
/* contrib/ltree_plpython/ltree_plpython3u--1.0.sql */
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "CREATE EXTENSION ltree_plpython3u" to load this file. \quit
-- make sure the prerequisite libraries are loaded
LOAD 'plpython3';
SELECT NULL::ltree;

View File

@ -1,3 +1,8 @@
/* contrib/ltree_plpython/ltree_plpythonu--1.0.sql */
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "CREATE EXTENSION ltree_plpythonu" to load this file. \quit
-- make sure the prerequisite libraries are loaded
LOAD 'plpython2'; -- change to plpython3 if that ever becomes the default
SELECT NULL::ltree;

View File

@ -1,4 +1,4 @@
/* contrib/pgcrypto/pgcrypto--1.2.sql */
/* contrib/pgcrypto/pgcrypto--1.3.sql */
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "CREATE EXTENSION pgcrypto" to load this file. \quit

View File

@ -1,4 +1,4 @@
/* contrib/pgrowlocks/pgrowlocks--1.1.sql */
/* contrib/pgrowlocks/pgrowlocks--1.2.sql */
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "CREATE EXTENSION pgrowlocks" to load this file. \quit

View File

@ -1,4 +1,4 @@
/* contrib/pgstattuple/pgstattuple--1.3.sql */
/* contrib/pgstattuple/pgstattuple--1.4.sql */
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "CREATE EXTENSION pgstattuple" to load this file. \quit

View File

@ -3,7 +3,7 @@
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "ALTER EXTENSION sslinfo UPDATE TO '1.1'" to load this file. \quit
CREATE OR REPLACE FUNCTION
CREATE FUNCTION
ssl_extension_info(OUT name text,
OUT value text,
OUT critical boolean