@@ -42,14 +42,14 @@ SET search_path TO information_schema;
42
42
/* Expand any 1-D array into a set with integers 1..N */
43
43
CREATE FUNCTION _pg_expandarray (IN anyarray, OUT x anyelement, OUT n int )
44
44
RETURNS SETOF RECORD
45
- LANGUAGE sql STRICT IMMUTABLE
45
+ LANGUAGE sql STRICT IMMUTABLE PARALLEL SAFE
46
46
AS ' select $1[s], s - pg_catalog.array_lower($1,1) + 1
47
47
from pg_catalog.generate_series(pg_catalog.array_lower($1,1),
48
48
pg_catalog.array_upper($1,1),
49
49
1) as g(s)' ;
50
50
51
51
CREATE FUNCTION _pg_keysequal (smallint [], smallint []) RETURNS boolean
52
- LANGUAGE sql IMMUTABLE -- intentionally not STRICT, to allow inlining
52
+ LANGUAGE sql IMMUTABLE PARALLEL SAFE -- intentionally not STRICT, to allow inlining
53
53
AS ' select $1 operator(pg_catalog.<@) $2 and $2 operator(pg_catalog.<@) $1' ;
54
54
55
55
/* Given an index's OID and an underlying-table column number, return the
66
66
CREATE FUNCTION _pg_truetypid (pg_attribute, pg_type) RETURNS oid
67
67
LANGUAGE sql
68
68
IMMUTABLE
69
+ PARALLEL SAFE
69
70
RETURNS NULL ON NULL INPUT
70
71
AS
71
72
$$SELECT CASE WHEN $2 .typtype = ' d' THEN $2 .typbasetype ELSE $1 .atttypid END$$;
72
73
73
74
CREATE FUNCTION _pg_truetypmod (pg_attribute, pg_type) RETURNS int4
74
75
LANGUAGE sql
75
76
IMMUTABLE
77
+ PARALLEL SAFE
76
78
RETURNS NULL ON NULL INPUT
77
79
AS
78
80
$$SELECT CASE WHEN $2 .typtype = ' d' THEN $2 .typtypmod ELSE $1 .atttypmod END$$;
@@ -82,6 +84,7 @@ $$SELECT CASE WHEN $2.typtype = 'd' THEN $2.typtypmod ELSE $1.atttypmod END$$;
82
84
CREATE FUNCTION _pg_char_max_length (typid oid , typmod int4) RETURNS integer
83
85
LANGUAGE sql
84
86
IMMUTABLE
87
+ PARALLEL SAFE
85
88
RETURNS NULL ON NULL INPUT
86
89
AS
87
90
$$SELECT
@@ -97,6 +100,7 @@ $$SELECT
97
100
CREATE FUNCTION _pg_char_octet_length (typid oid , typmod int4) RETURNS integer
98
101
LANGUAGE sql
99
102
IMMUTABLE
103
+ PARALLEL SAFE
100
104
RETURNS NULL ON NULL INPUT
101
105
AS
102
106
$$SELECT
@@ -112,6 +116,7 @@ $$SELECT
112
116
CREATE FUNCTION _pg_numeric_precision (typid oid , typmod int4) RETURNS integer
113
117
LANGUAGE sql
114
118
IMMUTABLE
119
+ PARALLEL SAFE
115
120
RETURNS NULL ON NULL INPUT
116
121
AS
117
122
$$SELECT
@@ -132,6 +137,7 @@ $$SELECT
132
137
CREATE FUNCTION _pg_numeric_precision_radix (typid oid , typmod int4) RETURNS integer
133
138
LANGUAGE sql
134
139
IMMUTABLE
140
+ PARALLEL SAFE
135
141
RETURNS NULL ON NULL INPUT
136
142
AS
137
143
$$SELECT
@@ -143,6 +149,7 @@ $$SELECT
143
149
CREATE FUNCTION _pg_numeric_scale (typid oid , typmod int4) RETURNS integer
144
150
LANGUAGE sql
145
151
IMMUTABLE
152
+ PARALLEL SAFE
146
153
RETURNS NULL ON NULL INPUT
147
154
AS
148
155
$$SELECT
@@ -158,6 +165,7 @@ $$SELECT
158
165
CREATE FUNCTION _pg_datetime_precision (typid oid , typmod int4) RETURNS integer
159
166
LANGUAGE sql
160
167
IMMUTABLE
168
+ PARALLEL SAFE
161
169
RETURNS NULL ON NULL INPUT
162
170
AS
163
171
$$SELECT
@@ -173,6 +181,7 @@ $$SELECT
173
181
CREATE FUNCTION _pg_interval_type (typid oid , mod int4) RETURNS text
174
182
LANGUAGE sql
175
183
IMMUTABLE
184
+ PARALLEL SAFE
176
185
RETURNS NULL ON NULL INPUT
177
186
AS
178
187
$$SELECT
0 commit comments