Commit 0dbf3ce0 authored by Robert Haas's avatar Robert Haas

Update pgcrypto extension for parallel query.

All functions provided by this extension are PARALLEL SAFE.

Andreas Karlsson
parent 06d7fd6e
...@@ -26,8 +26,8 @@ MODULE_big = pgcrypto ...@@ -26,8 +26,8 @@ MODULE_big = pgcrypto
OBJS = $(SRCS:.c=.o) $(WIN32RES) OBJS = $(SRCS:.c=.o) $(WIN32RES)
EXTENSION = pgcrypto EXTENSION = pgcrypto
DATA = pgcrypto--1.2.sql pgcrypto--1.1--1.2.sql pgcrypto--1.0--1.1.sql \ DATA = pgcrypto--1.3.sql pgcrypto--1.2--1.3.sql pgcrypto--1.1--1.2.sql \
pgcrypto--unpackaged--1.0.sql pgcrypto--1.0--1.1.sql pgcrypto--unpackaged--1.0.sql
PGFILEDESC = "pgcrypto - cryptographic functions" PGFILEDESC = "pgcrypto - cryptographic functions"
REGRESS = init md5 sha1 hmac-md5 hmac-sha1 blowfish rijndael \ REGRESS = init md5 sha1 hmac-md5 hmac-sha1 blowfish rijndael \
......
/* contrib/pgcrypto/pgcrypto--1.2--1.3.sql */
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
\echo Use "ALTER EXTENSION pgcrypto UPDATE TO '1.3'" to load this file. \quit
ALTER FUNCTION digest(text, text) PARALLEL SAFE;
ALTER FUNCTION digest(bytea, text) PARALLEL SAFE;
ALTER FUNCTION hmac(text, text, text) PARALLEL SAFE;
ALTER FUNCTION hmac(bytea, bytea, text) PARALLEL SAFE;
ALTER FUNCTION crypt(text, text) PARALLEL SAFE;
ALTER FUNCTION gen_salt(text) PARALLEL SAFE;
ALTER FUNCTION gen_salt(text, int4) PARALLEL SAFE;
ALTER FUNCTION encrypt(bytea, bytea, text) PARALLEL SAFE;
ALTER FUNCTION decrypt(bytea, bytea, text) PARALLEL SAFE;
ALTER FUNCTION encrypt_iv(bytea, bytea, bytea, text) PARALLEL SAFE;
ALTER FUNCTION decrypt_iv(bytea, bytea, bytea, text) PARALLEL SAFE;
ALTER FUNCTION gen_random_bytes(int4) PARALLEL SAFE;
ALTER FUNCTION gen_random_uuid() PARALLEL SAFE;
ALTER FUNCTION pgp_sym_encrypt(text, text) PARALLEL SAFE;
ALTER FUNCTION pgp_sym_encrypt_bytea(bytea, text) PARALLEL SAFE;
ALTER FUNCTION pgp_sym_encrypt(text, text, text) PARALLEL SAFE;
ALTER FUNCTION pgp_sym_encrypt_bytea(bytea, text, text) PARALLEL SAFE;
ALTER FUNCTION pgp_sym_decrypt(bytea, text) PARALLEL SAFE;
ALTER FUNCTION pgp_sym_decrypt_bytea(bytea, text) PARALLEL SAFE;
ALTER FUNCTION pgp_sym_decrypt(bytea, text, text) PARALLEL SAFE;
ALTER FUNCTION pgp_sym_decrypt_bytea(bytea, text, text) PARALLEL SAFE;
ALTER FUNCTION pgp_pub_encrypt(text, bytea) PARALLEL SAFE;
ALTER FUNCTION pgp_pub_encrypt_bytea(bytea, bytea) PARALLEL SAFE;
ALTER FUNCTION pgp_pub_encrypt(text, bytea, text) PARALLEL SAFE;
ALTER FUNCTION pgp_pub_encrypt_bytea(bytea, bytea, text) PARALLEL SAFE;
ALTER FUNCTION pgp_pub_decrypt(bytea, bytea) PARALLEL SAFE;
ALTER FUNCTION pgp_pub_decrypt_bytea(bytea, bytea) PARALLEL SAFE;
ALTER FUNCTION pgp_pub_decrypt(bytea, bytea, text) PARALLEL SAFE;
ALTER FUNCTION pgp_pub_decrypt_bytea(bytea, bytea, text) PARALLEL SAFE;
ALTER FUNCTION pgp_pub_decrypt(bytea, bytea, text, text) PARALLEL SAFE;
ALTER FUNCTION pgp_pub_decrypt_bytea(bytea, bytea, text, text) PARALLEL SAFE;
ALTER FUNCTION pgp_key_id(bytea) PARALLEL SAFE;
ALTER FUNCTION armor(bytea) PARALLEL SAFE;
ALTER FUNCTION armor(bytea, text[], text[]) PARALLEL SAFE;
ALTER FUNCTION dearmor(text) PARALLEL SAFE;
ALTER FUNCTION pgp_armor_headers(text) PARALLEL SAFE;
...@@ -6,67 +6,67 @@ ...@@ -6,67 +6,67 @@
CREATE FUNCTION digest(text, text) CREATE FUNCTION digest(text, text)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pg_digest' AS 'MODULE_PATHNAME', 'pg_digest'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION digest(bytea, text) CREATE FUNCTION digest(bytea, text)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pg_digest' AS 'MODULE_PATHNAME', 'pg_digest'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION hmac(text, text, text) CREATE FUNCTION hmac(text, text, text)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pg_hmac' AS 'MODULE_PATHNAME', 'pg_hmac'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION hmac(bytea, bytea, text) CREATE FUNCTION hmac(bytea, bytea, text)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pg_hmac' AS 'MODULE_PATHNAME', 'pg_hmac'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION crypt(text, text) CREATE FUNCTION crypt(text, text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME', 'pg_crypt' AS 'MODULE_PATHNAME', 'pg_crypt'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION gen_salt(text) CREATE FUNCTION gen_salt(text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME', 'pg_gen_salt' AS 'MODULE_PATHNAME', 'pg_gen_salt'
LANGUAGE C VOLATILE STRICT; LANGUAGE C VOLATILE STRICT PARALLEL SAFE;
CREATE FUNCTION gen_salt(text, int4) CREATE FUNCTION gen_salt(text, int4)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME', 'pg_gen_salt_rounds' AS 'MODULE_PATHNAME', 'pg_gen_salt_rounds'
LANGUAGE C VOLATILE STRICT; LANGUAGE C VOLATILE STRICT PARALLEL SAFE;
CREATE FUNCTION encrypt(bytea, bytea, text) CREATE FUNCTION encrypt(bytea, bytea, text)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pg_encrypt' AS 'MODULE_PATHNAME', 'pg_encrypt'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION decrypt(bytea, bytea, text) CREATE FUNCTION decrypt(bytea, bytea, text)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pg_decrypt' AS 'MODULE_PATHNAME', 'pg_decrypt'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION encrypt_iv(bytea, bytea, bytea, text) CREATE FUNCTION encrypt_iv(bytea, bytea, bytea, text)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pg_encrypt_iv' AS 'MODULE_PATHNAME', 'pg_encrypt_iv'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION decrypt_iv(bytea, bytea, bytea, text) CREATE FUNCTION decrypt_iv(bytea, bytea, bytea, text)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pg_decrypt_iv' AS 'MODULE_PATHNAME', 'pg_decrypt_iv'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION gen_random_bytes(int4) CREATE FUNCTION gen_random_bytes(int4)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pg_random_bytes' AS 'MODULE_PATHNAME', 'pg_random_bytes'
LANGUAGE C VOLATILE STRICT; LANGUAGE C VOLATILE STRICT PARALLEL SAFE;
CREATE FUNCTION gen_random_uuid() CREATE FUNCTION gen_random_uuid()
RETURNS uuid RETURNS uuid
AS 'MODULE_PATHNAME', 'pg_random_uuid' AS 'MODULE_PATHNAME', 'pg_random_uuid'
LANGUAGE C VOLATILE; LANGUAGE C VOLATILE PARALLEL SAFE;
-- --
-- pgp_sym_encrypt(data, key) -- pgp_sym_encrypt(data, key)
...@@ -74,12 +74,12 @@ LANGUAGE C VOLATILE; ...@@ -74,12 +74,12 @@ LANGUAGE C VOLATILE;
CREATE FUNCTION pgp_sym_encrypt(text, text) CREATE FUNCTION pgp_sym_encrypt(text, text)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pgp_sym_encrypt_text' AS 'MODULE_PATHNAME', 'pgp_sym_encrypt_text'
LANGUAGE C STRICT; LANGUAGE C STRICT PARALLEL SAFE;
CREATE FUNCTION pgp_sym_encrypt_bytea(bytea, text) CREATE FUNCTION pgp_sym_encrypt_bytea(bytea, text)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pgp_sym_encrypt_bytea' AS 'MODULE_PATHNAME', 'pgp_sym_encrypt_bytea'
LANGUAGE C STRICT; LANGUAGE C STRICT PARALLEL SAFE;
-- --
-- pgp_sym_encrypt(data, key, args) -- pgp_sym_encrypt(data, key, args)
...@@ -87,12 +87,12 @@ LANGUAGE C STRICT; ...@@ -87,12 +87,12 @@ LANGUAGE C STRICT;
CREATE FUNCTION pgp_sym_encrypt(text, text, text) CREATE FUNCTION pgp_sym_encrypt(text, text, text)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pgp_sym_encrypt_text' AS 'MODULE_PATHNAME', 'pgp_sym_encrypt_text'
LANGUAGE C STRICT; LANGUAGE C STRICT PARALLEL SAFE;
CREATE FUNCTION pgp_sym_encrypt_bytea(bytea, text, text) CREATE FUNCTION pgp_sym_encrypt_bytea(bytea, text, text)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pgp_sym_encrypt_bytea' AS 'MODULE_PATHNAME', 'pgp_sym_encrypt_bytea'
LANGUAGE C STRICT; LANGUAGE C STRICT PARALLEL SAFE;
-- --
-- pgp_sym_decrypt(data, key) -- pgp_sym_decrypt(data, key)
...@@ -100,12 +100,12 @@ LANGUAGE C STRICT; ...@@ -100,12 +100,12 @@ LANGUAGE C STRICT;
CREATE FUNCTION pgp_sym_decrypt(bytea, text) CREATE FUNCTION pgp_sym_decrypt(bytea, text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME', 'pgp_sym_decrypt_text' AS 'MODULE_PATHNAME', 'pgp_sym_decrypt_text'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION pgp_sym_decrypt_bytea(bytea, text) CREATE FUNCTION pgp_sym_decrypt_bytea(bytea, text)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pgp_sym_decrypt_bytea' AS 'MODULE_PATHNAME', 'pgp_sym_decrypt_bytea'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
-- --
-- pgp_sym_decrypt(data, key, args) -- pgp_sym_decrypt(data, key, args)
...@@ -113,12 +113,12 @@ LANGUAGE C IMMUTABLE STRICT; ...@@ -113,12 +113,12 @@ LANGUAGE C IMMUTABLE STRICT;
CREATE FUNCTION pgp_sym_decrypt(bytea, text, text) CREATE FUNCTION pgp_sym_decrypt(bytea, text, text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME', 'pgp_sym_decrypt_text' AS 'MODULE_PATHNAME', 'pgp_sym_decrypt_text'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION pgp_sym_decrypt_bytea(bytea, text, text) CREATE FUNCTION pgp_sym_decrypt_bytea(bytea, text, text)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pgp_sym_decrypt_bytea' AS 'MODULE_PATHNAME', 'pgp_sym_decrypt_bytea'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
-- --
-- pgp_pub_encrypt(data, key) -- pgp_pub_encrypt(data, key)
...@@ -126,12 +126,12 @@ LANGUAGE C IMMUTABLE STRICT; ...@@ -126,12 +126,12 @@ LANGUAGE C IMMUTABLE STRICT;
CREATE FUNCTION pgp_pub_encrypt(text, bytea) CREATE FUNCTION pgp_pub_encrypt(text, bytea)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pgp_pub_encrypt_text' AS 'MODULE_PATHNAME', 'pgp_pub_encrypt_text'
LANGUAGE C STRICT; LANGUAGE C STRICT PARALLEL SAFE;
CREATE FUNCTION pgp_pub_encrypt_bytea(bytea, bytea) CREATE FUNCTION pgp_pub_encrypt_bytea(bytea, bytea)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pgp_pub_encrypt_bytea' AS 'MODULE_PATHNAME', 'pgp_pub_encrypt_bytea'
LANGUAGE C STRICT; LANGUAGE C STRICT PARALLEL SAFE;
-- --
-- pgp_pub_encrypt(data, key, args) -- pgp_pub_encrypt(data, key, args)
...@@ -139,12 +139,12 @@ LANGUAGE C STRICT; ...@@ -139,12 +139,12 @@ LANGUAGE C STRICT;
CREATE FUNCTION pgp_pub_encrypt(text, bytea, text) CREATE FUNCTION pgp_pub_encrypt(text, bytea, text)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pgp_pub_encrypt_text' AS 'MODULE_PATHNAME', 'pgp_pub_encrypt_text'
LANGUAGE C STRICT; LANGUAGE C STRICT PARALLEL SAFE;
CREATE FUNCTION pgp_pub_encrypt_bytea(bytea, bytea, text) CREATE FUNCTION pgp_pub_encrypt_bytea(bytea, bytea, text)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pgp_pub_encrypt_bytea' AS 'MODULE_PATHNAME', 'pgp_pub_encrypt_bytea'
LANGUAGE C STRICT; LANGUAGE C STRICT PARALLEL SAFE;
-- --
-- pgp_pub_decrypt(data, key) -- pgp_pub_decrypt(data, key)
...@@ -152,12 +152,12 @@ LANGUAGE C STRICT; ...@@ -152,12 +152,12 @@ LANGUAGE C STRICT;
CREATE FUNCTION pgp_pub_decrypt(bytea, bytea) CREATE FUNCTION pgp_pub_decrypt(bytea, bytea)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME', 'pgp_pub_decrypt_text' AS 'MODULE_PATHNAME', 'pgp_pub_decrypt_text'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION pgp_pub_decrypt_bytea(bytea, bytea) CREATE FUNCTION pgp_pub_decrypt_bytea(bytea, bytea)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pgp_pub_decrypt_bytea' AS 'MODULE_PATHNAME', 'pgp_pub_decrypt_bytea'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
-- --
-- pgp_pub_decrypt(data, key, psw) -- pgp_pub_decrypt(data, key, psw)
...@@ -165,12 +165,12 @@ LANGUAGE C IMMUTABLE STRICT; ...@@ -165,12 +165,12 @@ LANGUAGE C IMMUTABLE STRICT;
CREATE FUNCTION pgp_pub_decrypt(bytea, bytea, text) CREATE FUNCTION pgp_pub_decrypt(bytea, bytea, text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME', 'pgp_pub_decrypt_text' AS 'MODULE_PATHNAME', 'pgp_pub_decrypt_text'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION pgp_pub_decrypt_bytea(bytea, bytea, text) CREATE FUNCTION pgp_pub_decrypt_bytea(bytea, bytea, text)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pgp_pub_decrypt_bytea' AS 'MODULE_PATHNAME', 'pgp_pub_decrypt_bytea'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
-- --
-- pgp_pub_decrypt(data, key, psw, arg) -- pgp_pub_decrypt(data, key, psw, arg)
...@@ -178,12 +178,12 @@ LANGUAGE C IMMUTABLE STRICT; ...@@ -178,12 +178,12 @@ LANGUAGE C IMMUTABLE STRICT;
CREATE FUNCTION pgp_pub_decrypt(bytea, bytea, text, text) CREATE FUNCTION pgp_pub_decrypt(bytea, bytea, text, text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME', 'pgp_pub_decrypt_text' AS 'MODULE_PATHNAME', 'pgp_pub_decrypt_text'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION pgp_pub_decrypt_bytea(bytea, bytea, text, text) CREATE FUNCTION pgp_pub_decrypt_bytea(bytea, bytea, text, text)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pgp_pub_decrypt_bytea' AS 'MODULE_PATHNAME', 'pgp_pub_decrypt_bytea'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
-- --
-- PGP key ID -- PGP key ID
...@@ -191,7 +191,7 @@ LANGUAGE C IMMUTABLE STRICT; ...@@ -191,7 +191,7 @@ LANGUAGE C IMMUTABLE STRICT;
CREATE FUNCTION pgp_key_id(bytea) CREATE FUNCTION pgp_key_id(bytea)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME', 'pgp_key_id_w' AS 'MODULE_PATHNAME', 'pgp_key_id_w'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
-- --
-- pgp armor -- pgp armor
...@@ -199,19 +199,19 @@ LANGUAGE C IMMUTABLE STRICT; ...@@ -199,19 +199,19 @@ LANGUAGE C IMMUTABLE STRICT;
CREATE FUNCTION armor(bytea) CREATE FUNCTION armor(bytea)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME', 'pg_armor' AS 'MODULE_PATHNAME', 'pg_armor'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION armor(bytea, text[], text[]) CREATE FUNCTION armor(bytea, text[], text[])
RETURNS text RETURNS text
AS 'MODULE_PATHNAME', 'pg_armor' AS 'MODULE_PATHNAME', 'pg_armor'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION dearmor(text) CREATE FUNCTION dearmor(text)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'pg_dearmor' AS 'MODULE_PATHNAME', 'pg_dearmor'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION pgp_armor_headers(text, key OUT text, value OUT text) CREATE FUNCTION pgp_armor_headers(text, key OUT text, value OUT text)
RETURNS SETOF record RETURNS SETOF record
AS 'MODULE_PATHNAME', 'pgp_armor_headers' AS 'MODULE_PATHNAME', 'pgp_armor_headers'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
# pgcrypto extension # pgcrypto extension
comment = 'cryptographic functions' comment = 'cryptographic functions'
default_version = '1.2' default_version = '1.3'
module_pathname = '$libdir/pgcrypto' module_pathname = '$libdir/pgcrypto'
relocatable = true relocatable = true
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment