Fix parallel-safety markings for contrib/dblink.

As shown by buildfarm reports, dblink_build_sql_insert and
dblink_build_sql_update are *not* parallel safe, because they
may attempt to access temporary tables of the local session.

Although dblink_build_sql_delete doesn't actually touch the
contents of the referenced table, it seems consistent and prudent
to mark it PARALLEL RESTRICTED too.
This commit is contained in:
Tom Lane 2016-06-17 23:08:21 -04:00
parent 915b703e16
commit 7e81a18d49
2 changed files with 6 additions and 6 deletions

View File

@ -30,9 +30,9 @@ ALTER FUNCTION dblink_exec(text, text, boolean) PARALLEL RESTRICTED;
ALTER FUNCTION dblink_exec(text) PARALLEL RESTRICTED;
ALTER FUNCTION dblink_exec(text, boolean) PARALLEL RESTRICTED;
ALTER FUNCTION dblink_get_pkey(text) PARALLEL RESTRICTED;
ALTER FUNCTION dblink_build_sql_insert(text, int2vector, int, _text, _text) PARALLEL SAFE;
ALTER FUNCTION dblink_build_sql_delete(text, int2vector, int, _text) PARALLEL SAFE;
ALTER FUNCTION dblink_build_sql_update(text, int2vector, int, _text, _text) PARALLEL SAFE;
ALTER FUNCTION dblink_build_sql_insert(text, int2vector, int, _text, _text) PARALLEL RESTRICTED;
ALTER FUNCTION dblink_build_sql_delete(text, int2vector, int, _text) PARALLEL RESTRICTED;
ALTER FUNCTION dblink_build_sql_update(text, int2vector, int, _text, _text) PARALLEL RESTRICTED;
ALTER FUNCTION dblink_current_query() PARALLEL RESTRICTED;
ALTER FUNCTION dblink_send_query(text, text) PARALLEL RESTRICTED;
ALTER FUNCTION dblink_is_busy(text) PARALLEL RESTRICTED;

View File

@ -151,17 +151,17 @@ LANGUAGE C STRICT PARALLEL RESTRICTED;
CREATE FUNCTION dblink_build_sql_insert (text, int2vector, int, _text, _text)
RETURNS text
AS 'MODULE_PATHNAME','dblink_build_sql_insert'
LANGUAGE C STRICT PARALLEL SAFE;
LANGUAGE C STRICT PARALLEL RESTRICTED;
CREATE FUNCTION dblink_build_sql_delete (text, int2vector, int, _text)
RETURNS text
AS 'MODULE_PATHNAME','dblink_build_sql_delete'
LANGUAGE C STRICT PARALLEL SAFE;
LANGUAGE C STRICT PARALLEL RESTRICTED;
CREATE FUNCTION dblink_build_sql_update (text, int2vector, int, _text, _text)
RETURNS text
AS 'MODULE_PATHNAME','dblink_build_sql_update'
LANGUAGE C STRICT PARALLEL SAFE;
LANGUAGE C STRICT PARALLEL RESTRICTED;
CREATE FUNCTION dblink_current_query ()
RETURNS text