Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Haas2016-06-14 18:52:55 +0000
committerRobert Haas2016-06-14 18:52:55 +0000
commit6b7d11ffda0b51b70978edcb1659cc62aa477f01 (patch)
treefbf99d6748f569366f79b1c5e1e0a97a7edc2984 /contrib
parent2910fc8239fa501b662c5459d7ba16a4bc35e7e8 (diff)
Update sslinfo extension for parallel query.
All functions provided by this extension are PARALLEL RESTRICTED, because they provide information about the connection state. Parallel workers don't have this information and therefore these functions can't be executed in a worker (but they can be present in a query some other part of which uses parallelism). Andreas Karlsson
Diffstat (limited to 'contrib')
-rw-r--r--contrib/sslinfo/Makefile2
-rw-r--r--contrib/sslinfo/sslinfo--1.1--1.2.sql15
-rw-r--r--contrib/sslinfo/sslinfo--1.2.sql (renamed from contrib/sslinfo/sslinfo--1.1.sql)22
-rw-r--r--contrib/sslinfo/sslinfo.control2
4 files changed, 28 insertions, 13 deletions
diff --git a/contrib/sslinfo/Makefile b/contrib/sslinfo/Makefile
index f6c147293cb..5a972db7030 100644
--- a/contrib/sslinfo/Makefile
+++ b/contrib/sslinfo/Makefile
@@ -4,7 +4,7 @@ MODULE_big = sslinfo
OBJS = sslinfo.o $(WIN32RES)
EXTENSION = sslinfo
-DATA = sslinfo--1.0--1.1.sql sslinfo--1.1.sql \
+DATA = sslinfo--1.2.sql sslinfo--1.1--1.2.sql sslinfo--1.0--1.1.sql \
sslinfo--unpackaged--1.0.sql
PGFILEDESC = "sslinfo - information about client SSL certificate"
diff --git a/contrib/sslinfo/sslinfo--1.1--1.2.sql b/contrib/sslinfo/sslinfo--1.1--1.2.sql
new file mode 100644
index 00000000000..f4f901438de
--- /dev/null
+++ b/contrib/sslinfo/sslinfo--1.1--1.2.sql
@@ -0,0 +1,15 @@
+/* contrib/sslinfo/sslinfo--1.1--1.2.sql */
+
+-- complain if script is sourced in psql, rather than via ALTER EXTENSION
+\echo Use "ALTER EXTENSION sslinfo UPDATE TO '1.2'" to load this file. \quit
+
+ALTER FUNCTION ssl_client_serial() PARALLEL RESTRICTED;
+ALTER FUNCTION ssl_is_used() PARALLEL RESTRICTED;
+ALTER FUNCTION ssl_version() PARALLEL RESTRICTED;
+ALTER FUNCTION ssl_cipher() PARALLEL RESTRICTED;
+ALTER FUNCTION ssl_client_cert_present() PARALLEL RESTRICTED;
+ALTER FUNCTION ssl_client_dn_field(text) PARALLEL RESTRICTED;
+ALTER FUNCTION ssl_issuer_field(text) PARALLEL RESTRICTED;
+ALTER FUNCTION ssl_client_dn() PARALLEL RESTRICTED;
+ALTER FUNCTION ssl_issuer_dn() PARALLEL RESTRICTED;
+ALTER FUNCTION ssl_extension_info() PARALLEL RESTRICTED;
diff --git a/contrib/sslinfo/sslinfo--1.1.sql b/contrib/sslinfo/sslinfo--1.2.sql
index 92855e31449..a555cfb507f 100644
--- a/contrib/sslinfo/sslinfo--1.1.sql
+++ b/contrib/sslinfo/sslinfo--1.2.sql
@@ -1,43 +1,43 @@
-/* contrib/sslinfo/sslinfo--1.1.sql */
+/* contrib/sslinfo/sslinfo--1.2.sql */
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "CREATE EXTENSION sslinfo" to load this file. \quit
CREATE FUNCTION ssl_client_serial() RETURNS numeric
AS 'MODULE_PATHNAME', 'ssl_client_serial'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL RESTRICTED;
CREATE FUNCTION ssl_is_used() RETURNS boolean
AS 'MODULE_PATHNAME', 'ssl_is_used'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL RESTRICTED;
CREATE FUNCTION ssl_version() RETURNS text
AS 'MODULE_PATHNAME', 'ssl_version'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL RESTRICTED;
CREATE FUNCTION ssl_cipher() RETURNS text
AS 'MODULE_PATHNAME', 'ssl_cipher'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL RESTRICTED;
CREATE FUNCTION ssl_client_cert_present() RETURNS boolean
AS 'MODULE_PATHNAME', 'ssl_client_cert_present'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL RESTRICTED;
CREATE FUNCTION ssl_client_dn_field(text) RETURNS text
AS 'MODULE_PATHNAME', 'ssl_client_dn_field'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL RESTRICTED;
CREATE FUNCTION ssl_issuer_field(text) RETURNS text
AS 'MODULE_PATHNAME', 'ssl_issuer_field'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL RESTRICTED;
CREATE FUNCTION ssl_client_dn() RETURNS text
AS 'MODULE_PATHNAME', 'ssl_client_dn'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL RESTRICTED;
CREATE FUNCTION ssl_issuer_dn() RETURNS text
AS 'MODULE_PATHNAME', 'ssl_issuer_dn'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL RESTRICTED;
CREATE FUNCTION
ssl_extension_info(OUT name text,
@@ -45,4 +45,4 @@ ssl_extension_info(OUT name text,
OUT critical boolean
) RETURNS SETOF record
AS 'MODULE_PATHNAME', 'ssl_extension_info'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL RESTRICTED;
diff --git a/contrib/sslinfo/sslinfo.control b/contrib/sslinfo/sslinfo.control
index dfcf17efcfa..c7754f924cf 100644
--- a/contrib/sslinfo/sslinfo.control
+++ b/contrib/sslinfo/sslinfo.control
@@ -1,5 +1,5 @@
# sslinfo extension
comment = 'information about SSL certificates'
-default_version = '1.1'
+default_version = '1.2'
module_pathname = '$libdir/sslinfo'
relocatable = true