aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/chkpass/chkpass--1.0.sql7
-rw-r--r--contrib/ltree/ltree--1.0.sql16
-rw-r--r--contrib/pg_trgm/pg_trgm--1.1.sql4
3 files changed, 15 insertions, 12 deletions
diff --git a/contrib/chkpass/chkpass--1.0.sql b/contrib/chkpass/chkpass--1.0.sql
index d1fbedc4468..406a61924cc 100644
--- a/contrib/chkpass/chkpass--1.0.sql
+++ b/contrib/chkpass/chkpass--1.0.sql
@@ -10,12 +10,15 @@
CREATE FUNCTION chkpass_in(cstring)
RETURNS chkpass
AS 'MODULE_PATHNAME'
- LANGUAGE C STRICT;
+ LANGUAGE C STRICT VOLATILE;
+-- Note: chkpass_in actually is volatile, because of its use of random().
+-- In hindsight that was a bad idea, but there's no way to change it without
+-- breaking some usage patterns.
CREATE FUNCTION chkpass_out(chkpass)
RETURNS cstring
AS 'MODULE_PATHNAME'
- LANGUAGE C STRICT;
+ LANGUAGE C STRICT IMMUTABLE;
CREATE TYPE chkpass (
internallength = 16,
diff --git a/contrib/ltree/ltree--1.0.sql b/contrib/ltree/ltree--1.0.sql
index 5a2f375a4f3..7d55fc603f6 100644
--- a/contrib/ltree/ltree--1.0.sql
+++ b/contrib/ltree/ltree--1.0.sql
@@ -6,12 +6,12 @@
CREATE FUNCTION ltree_in(cstring)
RETURNS ltree
AS 'MODULE_PATHNAME'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT IMMUTABLE;
CREATE FUNCTION ltree_out(ltree)
RETURNS cstring
AS 'MODULE_PATHNAME'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT IMMUTABLE;
CREATE TYPE ltree (
INTERNALLENGTH = -1,
@@ -303,12 +303,12 @@ CREATE OPERATOR CLASS ltree_ops
CREATE FUNCTION lquery_in(cstring)
RETURNS lquery
AS 'MODULE_PATHNAME'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT IMMUTABLE;
CREATE FUNCTION lquery_out(lquery)
RETURNS cstring
AS 'MODULE_PATHNAME'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT IMMUTABLE;
CREATE TYPE lquery (
INTERNALLENGTH = -1,
@@ -414,12 +414,12 @@ CREATE OPERATOR ^? (
CREATE FUNCTION ltxtq_in(cstring)
RETURNS ltxtquery
AS 'MODULE_PATHNAME'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT IMMUTABLE;
CREATE FUNCTION ltxtq_out(ltxtquery)
RETURNS cstring
AS 'MODULE_PATHNAME'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT IMMUTABLE;
CREATE TYPE ltxtquery (
INTERNALLENGTH = -1,
@@ -481,12 +481,12 @@ CREATE OPERATOR ^@ (
CREATE FUNCTION ltree_gist_in(cstring)
RETURNS ltree_gist
AS 'MODULE_PATHNAME'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT IMMUTABLE;
CREATE FUNCTION ltree_gist_out(ltree_gist)
RETURNS cstring
AS 'MODULE_PATHNAME'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT IMMUTABLE;
CREATE TYPE ltree_gist (
internallength = -1,
diff --git a/contrib/pg_trgm/pg_trgm--1.1.sql b/contrib/pg_trgm/pg_trgm--1.1.sql
index 1fff7af2c48..34b37e47872 100644
--- a/contrib/pg_trgm/pg_trgm--1.1.sql
+++ b/contrib/pg_trgm/pg_trgm--1.1.sql
@@ -53,12 +53,12 @@ CREATE OPERATOR <-> (
CREATE FUNCTION gtrgm_in(cstring)
RETURNS gtrgm
AS 'MODULE_PATHNAME'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT IMMUTABLE;
CREATE FUNCTION gtrgm_out(gtrgm)
RETURNS cstring
AS 'MODULE_PATHNAME'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT IMMUTABLE;
CREATE TYPE gtrgm (
INTERNALLENGTH = -1,