@@ -12,12 +12,12 @@ BEGIN;
1212CREATE FUNCTION bqarr_in(cstring)
1313RETURNS query_int
1414AS 'MODULE_PATHNAME'
15- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
15+ LANGUAGE CSTRICT IMMUTABLE;
1616
1717CREATE FUNCTION bqarr_out(query_int)
1818RETURNS cstring
1919AS 'MODULE_PATHNAME'
20- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
20+ LANGUAGE CSTRICT IMMUTABLE;
2121
2222CREATE TYPE query_int (
2323INTERNALLENGTH = -1,
@@ -29,20 +29,20 @@ CREATE TYPE query_int (
2929CREATE FUNCTION querytree(query_int)
3030RETURNS text
3131AS 'MODULE_PATHNAME'
32- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
32+ LANGUAGE CSTRICT IMMUTABLE;
3333
3434
3535CREATE FUNCTION boolop(_int4, query_int)
3636RETURNS bool
3737AS 'MODULE_PATHNAME'
38- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
38+ LANGUAGE CSTRICT IMMUTABLE;
3939
4040COMMENT ON FUNCTION boolop(_int4, query_int) IS 'boolean operation with array';
4141
4242CREATE FUNCTION rboolop(query_int, _int4)
4343RETURNS bool
4444AS 'MODULE_PATHNAME'
45- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
45+ LANGUAGE CSTRICT IMMUTABLE;
4646
4747COMMENT ON FUNCTION rboolop(query_int, _int4) IS 'boolean operation with array';
4848
@@ -74,35 +74,35 @@ CREATE OPERATOR ~~ (
7474CREATE FUNCTION _int_contains(_int4, _int4)
7575RETURNS bool
7676AS 'MODULE_PATHNAME'
77- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
77+ LANGUAGE CSTRICT IMMUTABLE;
7878
7979COMMENT ON FUNCTION _int_contains(_int4, _int4) IS 'contains';
8080
8181CREATE FUNCTION _int_contained(_int4, _int4)
8282RETURNS bool
8383AS 'MODULE_PATHNAME'
84- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
84+ LANGUAGE CSTRICT IMMUTABLE;
8585
8686COMMENT ON FUNCTION _int_contained(_int4, _int4) IS 'contained in';
8787
8888CREATE FUNCTION _int_overlap(_int4, _int4)
8989RETURNS bool
9090AS 'MODULE_PATHNAME'
91- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
91+ LANGUAGE CSTRICT IMMUTABLE;
9292
9393COMMENT ON FUNCTION _int_overlap(_int4, _int4) IS 'overlaps';
9494
9595CREATE FUNCTION _int_same(_int4, _int4)
9696RETURNS bool
9797AS 'MODULE_PATHNAME'
98- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
98+ LANGUAGE CSTRICT IMMUTABLE;
9999
100100COMMENT ON FUNCTION _int_same(_int4, _int4) IS 'same as';
101101
102102CREATE FUNCTION _int_different(_int4, _int4)
103103RETURNS bool
104104AS 'MODULE_PATHNAME'
105- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
105+ LANGUAGE CSTRICT IMMUTABLE;
106106
107107COMMENT ON FUNCTION _int_different(_int4, _int4) IS 'different';
108108
@@ -111,12 +111,12 @@ COMMENT ON FUNCTION _int_different(_int4, _int4) IS 'different';
111111CREATE FUNCTION _int_union(_int4, _int4)
112112RETURNS _int4
113113AS 'MODULE_PATHNAME'
114- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
114+ LANGUAGE CSTRICT IMMUTABLE;
115115
116116CREATE FUNCTION _int_inter(_int4, _int4)
117117RETURNS _int4
118118AS 'MODULE_PATHNAME'
119- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
119+ LANGUAGE CSTRICT IMMUTABLE;
120120
121121--
122122-- OPERATORS
@@ -194,12 +194,12 @@ CREATE OPERATOR ~ (
194194CREATE FUNCTION intset(int4)
195195RETURNS _int4
196196AS 'MODULE_PATHNAME'
197- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
197+ LANGUAGE CSTRICT IMMUTABLE;
198198
199199CREATE FUNCTION icount(_int4)
200200RETURNS int4
201201AS 'MODULE_PATHNAME'
202- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
202+ LANGUAGE CSTRICT IMMUTABLE;
203203
204204CREATE OPERATOR # (
205205RIGHTARG = _int4,
@@ -209,32 +209,32 @@ CREATE OPERATOR # (
209209CREATE FUNCTION sort(_int4, text)
210210RETURNS _int4
211211AS 'MODULE_PATHNAME'
212- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
212+ LANGUAGE CSTRICT IMMUTABLE;
213213
214214CREATE FUNCTION sort(_int4)
215215RETURNS _int4
216216AS 'MODULE_PATHNAME'
217- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
217+ LANGUAGE CSTRICT IMMUTABLE;
218218
219219CREATE FUNCTION sort_asc(_int4)
220220RETURNS _int4
221221AS 'MODULE_PATHNAME'
222- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
222+ LANGUAGE CSTRICT IMMUTABLE;
223223
224224CREATE FUNCTION sort_desc(_int4)
225225RETURNS _int4
226226AS 'MODULE_PATHNAME'
227- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
227+ LANGUAGE CSTRICT IMMUTABLE;
228228
229229CREATE FUNCTION uniq(_int4)
230230RETURNS _int4
231231AS 'MODULE_PATHNAME'
232- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
232+ LANGUAGE CSTRICT IMMUTABLE;
233233
234234CREATE FUNCTION idx(_int4, int4)
235235RETURNS int4
236236AS 'MODULE_PATHNAME'
237- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
237+ LANGUAGE CSTRICT IMMUTABLE;
238238
239239CREATE OPERATOR # (
240240LEFTARG = _int4,
@@ -245,17 +245,17 @@ CREATE OPERATOR # (
245245CREATE FUNCTION subarray(_int4, int4, int4)
246246RETURNS _int4
247247AS 'MODULE_PATHNAME'
248- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
248+ LANGUAGE CSTRICT IMMUTABLE;
249249
250250CREATE FUNCTION subarray(_int4, int4)
251251RETURNS _int4
252252AS 'MODULE_PATHNAME'
253- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
253+ LANGUAGE CSTRICT IMMUTABLE;
254254
255255CREATE FUNCTION intarray_push_elem(_int4, int4)
256256RETURNS _int4
257257AS 'MODULE_PATHNAME'
258- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
258+ LANGUAGE CSTRICT IMMUTABLE;
259259
260260CREATE OPERATOR + (
261261LEFTARG = _int4,
@@ -266,7 +266,7 @@ CREATE OPERATOR + (
266266CREATE FUNCTION intarray_push_array(_int4, _int4)
267267RETURNS _int4
268268AS 'MODULE_PATHNAME'
269- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
269+ LANGUAGE CSTRICT IMMUTABLE;
270270
271271CREATE OPERATOR + (
272272LEFTARG = _int4,
@@ -278,7 +278,7 @@ CREATE OPERATOR + (
278278CREATE FUNCTION intarray_del_elem(_int4, int4)
279279RETURNS _int4
280280AS 'MODULE_PATHNAME'
281- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
281+ LANGUAGE CSTRICT IMMUTABLE;
282282
283283CREATE OPERATOR - (
284284LEFTARG = _int4,
@@ -289,7 +289,7 @@ CREATE OPERATOR - (
289289CREATE FUNCTION intset_union_elem(_int4, int4)
290290RETURNS _int4
291291AS 'MODULE_PATHNAME'
292- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
292+ LANGUAGE CSTRICT IMMUTABLE;
293293
294294CREATE OPERATOR | (
295295LEFTARG = _int4,
@@ -307,7 +307,7 @@ CREATE OPERATOR | (
307307CREATE FUNCTION intset_subtract(_int4, _int4)
308308RETURNS _int4
309309AS 'MODULE_PATHNAME'
310- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
310+ LANGUAGE CSTRICT IMMUTABLE;
311311
312312CREATE OPERATOR - (
313313LEFTARG = _int4,
@@ -327,37 +327,37 @@ CREATE OPERATOR & (
327327CREATE FUNCTION g_int_consistent(internal,_int4,int4)
328328RETURNS bool
329329AS 'MODULE_PATHNAME'
330- LANGUAGE C;
330+ LANGUAGE C IMMUTABLE ;
331331
332332CREATE FUNCTION g_int_compress(internal)
333333RETURNS internal
334334AS 'MODULE_PATHNAME'
335- LANGUAGE C;
335+ LANGUAGE C IMMUTABLE ;
336336
337337CREATE FUNCTION g_int_decompress(internal)
338338RETURNS internal
339339AS 'MODULE_PATHNAME'
340- LANGUAGE C;
340+ LANGUAGE C IMMUTABLE ;
341341
342342CREATE FUNCTION g_int_penalty(internal,internal,internal)
343343RETURNS internal
344344AS 'MODULE_PATHNAME'
345- LANGUAGE CRETURNS NULL ON NULL INPUT ;
345+ LANGUAGE CIMMUTABLE STRICT ;
346346
347347CREATE FUNCTION g_int_picksplit(internal, internal)
348348RETURNS internal
349349AS 'MODULE_PATHNAME'
350- LANGUAGE C;
350+ LANGUAGE C IMMUTABLE ;
351351
352352CREATE FUNCTION g_int_union(internal, internal)
353353RETURNS _int4
354354AS 'MODULE_PATHNAME'
355- LANGUAGE C;
355+ LANGUAGE C IMMUTABLE ;
356356
357357CREATE FUNCTION g_int_same(_int4, _int4, internal)
358358RETURNS internal
359359AS 'MODULE_PATHNAME'
360- LANGUAGE C;
360+ LANGUAGE C IMMUTABLE ;
361361
362362
363363-- Create the operator class for indexing
@@ -388,12 +388,12 @@ DEFAULT FOR TYPE _int4 USING gist AS
388388CREATE FUNCTION _intbig_in(cstring)
389389RETURNS intbig_gkey
390390AS 'MODULE_PATHNAME'
391- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
391+ LANGUAGE CSTRICT IMMUTABLE;
392392
393393CREATE FUNCTION _intbig_out(intbig_gkey)
394394RETURNS cstring
395395AS 'MODULE_PATHNAME'
396- LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
396+ LANGUAGE CSTRICT IMMUTABLE;
397397
398398CREATE TYPE intbig_gkey (
399399 INTERNALLENGTH = -1,
@@ -404,37 +404,37 @@ CREATE TYPE intbig_gkey (
404404CREATE FUNCTION g_intbig_consistent(internal,internal,int4)
405405RETURNS bool
406406AS 'MODULE_PATHNAME'
407- LANGUAGE C;
407+ LANGUAGE C IMMUTABLE ;
408408
409409CREATE FUNCTION g_intbig_compress(internal)
410410RETURNS internal
411411AS 'MODULE_PATHNAME'
412- LANGUAGE C;
412+ LANGUAGE C IMMUTABLE ;
413413
414414CREATE FUNCTION g_intbig_decompress(internal)
415415RETURNS internal
416416AS 'MODULE_PATHNAME'
417- LANGUAGE C;
417+ LANGUAGE C IMMUTABLE ;
418418
419419CREATE FUNCTION g_intbig_penalty(internal,internal,internal)
420420RETURNS internal
421421AS 'MODULE_PATHNAME'
422- LANGUAGE CRETURNS NULL ON NULL INPUT ;
422+ LANGUAGE CIMMUTABLE STRICT ;
423423
424424CREATE FUNCTION g_intbig_picksplit(internal, internal)
425425RETURNS internal
426426AS 'MODULE_PATHNAME'
427- LANGUAGE C;
427+ LANGUAGE C IMMUTABLE ;
428428
429429CREATE FUNCTION g_intbig_union(internal, internal)
430430RETURNS _int4
431431AS 'MODULE_PATHNAME'
432- LANGUAGE C;
432+ LANGUAGE C IMMUTABLE ;
433433
434434CREATE FUNCTION g_intbig_same(internal, internal, internal)
435435RETURNS internal
436436AS 'MODULE_PATHNAME'
437- LANGUAGE C;
437+ LANGUAGE C IMMUTABLE ;
438438
439439-- register the opclass for indexing (not as default)
440440
462462CREATE FUNCTION ginint4_queryextract(internal, internal, int2)
463463RETURNS internal
464464AS 'MODULE_PATHNAME'
465- LANGUAGE C;
465+ LANGUAGE C IMMUTABLE ;
466466
467467CREATE FUNCTION ginint4_consistent(internal, int2, internal)
468468RETURNS internal
469469AS 'MODULE_PATHNAME'
470- LANGUAGE C;
470+ LANGUAGE C IMMUTABLE ;
471471
472472CREATE OPERATOR CLASS gin__int_ops
473473FOR TYPE _int4 USING gin