Minor fixes in contrib installation scripts.
authorTom Lane <[email protected]>
Tue, 14 Jun 2016 14:47:06 +0000 (10:47 -0400)
committerTom Lane <[email protected]>
Tue, 14 Jun 2016 14:47:06 +0000 (10:47 -0400)
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

13 files changed:
contrib/bloom/bloom--1.0.sql
contrib/hstore_plperl/hstore_plperl--1.0.sql
contrib/hstore_plperl/hstore_plperlu--1.0.sql
contrib/hstore_plpython/hstore_plpython2u--1.0.sql
contrib/hstore_plpython/hstore_plpython3u--1.0.sql
contrib/hstore_plpython/hstore_plpythonu--1.0.sql
contrib/ltree_plpython/ltree_plpython2u--1.0.sql
contrib/ltree_plpython/ltree_plpython3u--1.0.sql
contrib/ltree_plpython/ltree_plpythonu--1.0.sql
contrib/pgcrypto/pgcrypto--1.3.sql
contrib/pgrowlocks/pgrowlocks--1.2.sql
contrib/pgstattuple/pgstattuple--1.4.sql
contrib/sslinfo/sslinfo--1.0--1.1.sql

index 87b5442568191b48993de3264a7dc01015c30cdf..4e7c9226bcddb8f0c5439de3cb9af6fc5448de29 100644 (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;
index a4fd7c22db89cfda47a1d3fcf1dbc6cfba0085d8..9a64fcb18be860716be345cd30abcc3fa2a8f784 100644 (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;
index 2c2e3e3848add6872caaf4f67db51d0bf11ad56e..f3552849075b90a02f9a14992dcc44fb2e131a90 100644 (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;
index a793dc9c0cd4fa7cbb2dbf12b55ff9e4fac8ef1b..e3aea6399e9adfc3507024c22594f8d6acaf0d2e 100644 (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;
index a85c85d4c1b808204d843632b7bd5b36ba290f37..a964a49059a97230f4568e4c831853083ec11666 100644 (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;
index e2e4721dca96cfabdfe990dd7fa032f771bf6bc1..d79bdc96d99a406f9b56ad87d661e8d0a642ee77 100644 (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;
index f040bd3f561985aad6aa7fb57cf8d3f8da8b658a..62531371bf9032dfa4239b3fb20af05fd8323c8d 100644 (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;
index 7afe51f1483e7cd310cac00f81fe376e8b751a88..3f21d1b721042e54ba32f979592de8f9fd45556d 100644 (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;
index 50f35dd16b0a7488b97ff91acc7cbc4169d06ea5..e8deadc62d00ab10b4e973f00814fc3415e91e9a 100644 (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;
index 90d0946de2cc8ab6fa4da7de62d04ce911edd2fe..c2628caceb5b740a67d3e634b82b5262fbad7598 100644 (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
index 58df728c07eb4ff7a17430a52d229452912a555a..ff76b8b68a42094e4f58b661c45ab7a5407b247b 100644 (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
index 69f20025667aed81d66d262f7a732fa369a87008..47377ebe79e4fc562baecd4795e617b562123037 100644 (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
index 4c26c6e1cf0fd69f4b8c8b4d804e5f7ef36934cd..12d341f2075ebb44425ad0b49ee56de20c8d9a51 100644 (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