Skip to content

Commit 5484c0a

Browse files
committed
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
1 parent 332fdbe commit 5484c0a

13 files changed

+50
-5
lines changed

contrib/bloom/bloom--1.0.sql

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
CREATE OR REPLACE FUNCTION blhandler(internal)
1+
/* contrib/bloom/bloom--1.0.sql */
2+
3+
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
4+
\echo Use "CREATE EXTENSION bloom" to load this file. \quit
5+
6+
CREATE FUNCTION blhandler(internal)
27
RETURNS index_am_handler
38
AS 'MODULE_PATHNAME'
49
LANGUAGE C;

contrib/hstore_plperl/hstore_plperl--1.0.sql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
/* contrib/hstore_plperl/hstore_plperl--1.0.sql */
2+
3+
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
4+
\echo Use "CREATE EXTENSION hstore_plperl" to load this file. \quit
5+
16
-- make sure the prerequisite libraries are loaded
27
LOAD 'plperl';
38
SELECT NULL::hstore;

contrib/hstore_plperl/hstore_plperlu--1.0.sql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
/* contrib/hstore_plperl/hstore_plperlu--1.0.sql */
2+
3+
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
4+
\echo Use "CREATE EXTENSION hstore_plperlu" to load this file. \quit
5+
16
-- make sure the prerequisite libraries are loaded
27
LOAD 'plperl';
38
SELECT NULL::hstore;

contrib/hstore_plpython/hstore_plpython2u--1.0.sql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
/* contrib/hstore_plpython/hstore_plpython2u--1.0.sql */
2+
3+
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
4+
\echo Use "CREATE EXTENSION hstore_plpython2u" to load this file. \quit
5+
16
-- make sure the prerequisite libraries are loaded
27
LOAD 'plpython2';
38
SELECT NULL::hstore;

contrib/hstore_plpython/hstore_plpython3u--1.0.sql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
/* contrib/hstore_plpython/hstore_plpython3u--1.0.sql */
2+
3+
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
4+
\echo Use "CREATE EXTENSION hstore_plpython3u" to load this file. \quit
5+
16
-- make sure the prerequisite libraries are loaded
27
LOAD 'plpython3';
38
SELECT NULL::hstore;

contrib/hstore_plpython/hstore_plpythonu--1.0.sql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
/* contrib/hstore_plpython/hstore_plpythonu--1.0.sql */
2+
3+
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
4+
\echo Use "CREATE EXTENSION hstore_plpythonu" to load this file. \quit
5+
16
-- make sure the prerequisite libraries are loaded
27
LOAD 'plpython2'; -- change to plpython3 if that ever becomes the default
38
SELECT NULL::hstore;

contrib/ltree_plpython/ltree_plpython2u--1.0.sql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
/* contrib/ltree_plpython/ltree_plpython2u--1.0.sql */
2+
3+
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
4+
\echo Use "CREATE EXTENSION ltree_plpython2u" to load this file. \quit
5+
16
-- make sure the prerequisite libraries are loaded
27
LOAD 'plpython2';
38
SELECT NULL::ltree;

contrib/ltree_plpython/ltree_plpython3u--1.0.sql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
/* contrib/ltree_plpython/ltree_plpython3u--1.0.sql */
2+
3+
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
4+
\echo Use "CREATE EXTENSION ltree_plpython3u" to load this file. \quit
5+
16
-- make sure the prerequisite libraries are loaded
27
LOAD 'plpython3';
38
SELECT NULL::ltree;

contrib/ltree_plpython/ltree_plpythonu--1.0.sql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
/* contrib/ltree_plpython/ltree_plpythonu--1.0.sql */
2+
3+
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
4+
\echo Use "CREATE EXTENSION ltree_plpythonu" to load this file. \quit
5+
16
-- make sure the prerequisite libraries are loaded
27
LOAD 'plpython2'; -- change to plpython3 if that ever becomes the default
38
SELECT NULL::ltree;

contrib/pgcrypto/pgcrypto--1.3.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* contrib/pgcrypto/pgcrypto--1.2.sql */
1+
/* contrib/pgcrypto/pgcrypto--1.3.sql */
22

33
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
44
\echo Use "CREATE EXTENSION pgcrypto" to load this file. \quit

contrib/pgrowlocks/pgrowlocks--1.2.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* contrib/pgrowlocks/pgrowlocks--1.1.sql */
1+
/* contrib/pgrowlocks/pgrowlocks--1.2.sql */
22

33
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
44
\echo Use "CREATE EXTENSION pgrowlocks" to load this file. \quit

contrib/pgstattuple/pgstattuple--1.4.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* contrib/pgstattuple/pgstattuple--1.3.sql */
1+
/* contrib/pgstattuple/pgstattuple--1.4.sql */
22

33
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
44
\echo Use "CREATE EXTENSION pgstattuple" to load this file. \quit

contrib/sslinfo/sslinfo--1.0--1.1.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
44
\echo Use "ALTER EXTENSION sslinfo UPDATE TO '1.1'" to load this file. \quit
55

6-
CREATE OR REPLACE FUNCTION
6+
CREATE FUNCTION
77
ssl_extension_info(OUT name text,
88
OUT value text,
99
OUT critical boolean

0 commit comments

Comments
 (0)