Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit2e0c47e

Browse files
committed
Support functions for index opclasses should be immutable.
Found by running opr_sanity on contrib modules.
1 parentd80d8ac commit2e0c47e

File tree

1 file changed

+45
-45
lines changed

1 file changed

+45
-45
lines changed

‎contrib/intarray/_int.sql.in

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ BEGIN;
1212
CREATE FUNCTION bqarr_in(cstring)
1313
RETURNS query_int
1414
AS 'MODULE_PATHNAME'
15-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
15+
LANGUAGE CSTRICT IMMUTABLE;
1616

1717
CREATE FUNCTION bqarr_out(query_int)
1818
RETURNS cstring
1919
AS 'MODULE_PATHNAME'
20-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
20+
LANGUAGE CSTRICT IMMUTABLE;
2121

2222
CREATE TYPE query_int (
2323
INTERNALLENGTH = -1,
@@ -29,20 +29,20 @@ CREATE TYPE query_int (
2929
CREATE FUNCTION querytree(query_int)
3030
RETURNS text
3131
AS 'MODULE_PATHNAME'
32-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
32+
LANGUAGE CSTRICT IMMUTABLE;
3333

3434

3535
CREATE FUNCTION boolop(_int4, query_int)
3636
RETURNS bool
3737
AS 'MODULE_PATHNAME'
38-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
38+
LANGUAGE CSTRICT IMMUTABLE;
3939

4040
COMMENT ON FUNCTION boolop(_int4, query_int) IS 'boolean operation with array';
4141

4242
CREATE FUNCTION rboolop(query_int, _int4)
4343
RETURNS bool
4444
AS 'MODULE_PATHNAME'
45-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
45+
LANGUAGE CSTRICT IMMUTABLE;
4646

4747
COMMENT ON FUNCTION rboolop(query_int, _int4) IS 'boolean operation with array';
4848

@@ -74,35 +74,35 @@ CREATE OPERATOR ~~ (
7474
CREATE FUNCTION _int_contains(_int4, _int4)
7575
RETURNS bool
7676
AS 'MODULE_PATHNAME'
77-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
77+
LANGUAGE CSTRICT IMMUTABLE;
7878

7979
COMMENT ON FUNCTION _int_contains(_int4, _int4) IS 'contains';
8080

8181
CREATE FUNCTION _int_contained(_int4, _int4)
8282
RETURNS bool
8383
AS 'MODULE_PATHNAME'
84-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
84+
LANGUAGE CSTRICT IMMUTABLE;
8585

8686
COMMENT ON FUNCTION _int_contained(_int4, _int4) IS 'contained in';
8787

8888
CREATE FUNCTION _int_overlap(_int4, _int4)
8989
RETURNS bool
9090
AS 'MODULE_PATHNAME'
91-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
91+
LANGUAGE CSTRICT IMMUTABLE;
9292

9393
COMMENT ON FUNCTION _int_overlap(_int4, _int4) IS 'overlaps';
9494

9595
CREATE FUNCTION _int_same(_int4, _int4)
9696
RETURNS bool
9797
AS 'MODULE_PATHNAME'
98-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
98+
LANGUAGE CSTRICT IMMUTABLE;
9999

100100
COMMENT ON FUNCTION _int_same(_int4, _int4) IS 'same as';
101101

102102
CREATE FUNCTION _int_different(_int4, _int4)
103103
RETURNS bool
104104
AS 'MODULE_PATHNAME'
105-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
105+
LANGUAGE CSTRICT IMMUTABLE;
106106

107107
COMMENT ON FUNCTION _int_different(_int4, _int4) IS 'different';
108108

@@ -111,12 +111,12 @@ COMMENT ON FUNCTION _int_different(_int4, _int4) IS 'different';
111111
CREATE FUNCTION _int_union(_int4, _int4)
112112
RETURNS _int4
113113
AS 'MODULE_PATHNAME'
114-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
114+
LANGUAGE CSTRICT IMMUTABLE;
115115

116116
CREATE FUNCTION _int_inter(_int4, _int4)
117117
RETURNS _int4
118118
AS 'MODULE_PATHNAME'
119-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
119+
LANGUAGE CSTRICT IMMUTABLE;
120120

121121
--
122122
-- OPERATORS
@@ -194,12 +194,12 @@ CREATE OPERATOR ~ (
194194
CREATE FUNCTION intset(int4)
195195
RETURNS _int4
196196
AS 'MODULE_PATHNAME'
197-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
197+
LANGUAGE CSTRICT IMMUTABLE;
198198

199199
CREATE FUNCTION icount(_int4)
200200
RETURNS int4
201201
AS 'MODULE_PATHNAME'
202-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
202+
LANGUAGE CSTRICT IMMUTABLE;
203203

204204
CREATE OPERATOR # (
205205
RIGHTARG = _int4,
@@ -209,32 +209,32 @@ CREATE OPERATOR # (
209209
CREATE FUNCTION sort(_int4, text)
210210
RETURNS _int4
211211
AS 'MODULE_PATHNAME'
212-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
212+
LANGUAGE CSTRICT IMMUTABLE;
213213

214214
CREATE FUNCTION sort(_int4)
215215
RETURNS _int4
216216
AS 'MODULE_PATHNAME'
217-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
217+
LANGUAGE CSTRICT IMMUTABLE;
218218

219219
CREATE FUNCTION sort_asc(_int4)
220220
RETURNS _int4
221221
AS 'MODULE_PATHNAME'
222-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
222+
LANGUAGE CSTRICT IMMUTABLE;
223223

224224
CREATE FUNCTION sort_desc(_int4)
225225
RETURNS _int4
226226
AS 'MODULE_PATHNAME'
227-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
227+
LANGUAGE CSTRICT IMMUTABLE;
228228

229229
CREATE FUNCTION uniq(_int4)
230230
RETURNS _int4
231231
AS 'MODULE_PATHNAME'
232-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
232+
LANGUAGE CSTRICT IMMUTABLE;
233233

234234
CREATE FUNCTION idx(_int4, int4)
235235
RETURNS int4
236236
AS 'MODULE_PATHNAME'
237-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
237+
LANGUAGE CSTRICT IMMUTABLE;
238238

239239
CREATE OPERATOR # (
240240
LEFTARG = _int4,
@@ -245,17 +245,17 @@ CREATE OPERATOR # (
245245
CREATE FUNCTION subarray(_int4, int4, int4)
246246
RETURNS _int4
247247
AS 'MODULE_PATHNAME'
248-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
248+
LANGUAGE CSTRICT IMMUTABLE;
249249

250250
CREATE FUNCTION subarray(_int4, int4)
251251
RETURNS _int4
252252
AS 'MODULE_PATHNAME'
253-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
253+
LANGUAGE CSTRICT IMMUTABLE;
254254

255255
CREATE FUNCTION intarray_push_elem(_int4, int4)
256256
RETURNS _int4
257257
AS 'MODULE_PATHNAME'
258-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
258+
LANGUAGE CSTRICT IMMUTABLE;
259259

260260
CREATE OPERATOR + (
261261
LEFTARG = _int4,
@@ -266,7 +266,7 @@ CREATE OPERATOR + (
266266
CREATE FUNCTION intarray_push_array(_int4, _int4)
267267
RETURNS _int4
268268
AS 'MODULE_PATHNAME'
269-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
269+
LANGUAGE CSTRICT IMMUTABLE;
270270

271271
CREATE OPERATOR + (
272272
LEFTARG = _int4,
@@ -278,7 +278,7 @@ CREATE OPERATOR + (
278278
CREATE FUNCTION intarray_del_elem(_int4, int4)
279279
RETURNS _int4
280280
AS 'MODULE_PATHNAME'
281-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
281+
LANGUAGE CSTRICT IMMUTABLE;
282282

283283
CREATE OPERATOR - (
284284
LEFTARG = _int4,
@@ -289,7 +289,7 @@ CREATE OPERATOR - (
289289
CREATE FUNCTION intset_union_elem(_int4, int4)
290290
RETURNS _int4
291291
AS 'MODULE_PATHNAME'
292-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
292+
LANGUAGE CSTRICT IMMUTABLE;
293293

294294
CREATE OPERATOR | (
295295
LEFTARG = _int4,
@@ -307,7 +307,7 @@ CREATE OPERATOR | (
307307
CREATE FUNCTION intset_subtract(_int4, _int4)
308308
RETURNS _int4
309309
AS 'MODULE_PATHNAME'
310-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
310+
LANGUAGE CSTRICT IMMUTABLE;
311311

312312
CREATE OPERATOR - (
313313
LEFTARG = _int4,
@@ -327,37 +327,37 @@ CREATE OPERATOR & (
327327
CREATE FUNCTION g_int_consistent(internal,_int4,int4)
328328
RETURNS bool
329329
AS 'MODULE_PATHNAME'
330-
LANGUAGE C;
330+
LANGUAGE C IMMUTABLE;
331331

332332
CREATE FUNCTION g_int_compress(internal)
333333
RETURNS internal
334334
AS 'MODULE_PATHNAME'
335-
LANGUAGE C;
335+
LANGUAGE C IMMUTABLE;
336336

337337
CREATE FUNCTION g_int_decompress(internal)
338338
RETURNS internal
339339
AS 'MODULE_PATHNAME'
340-
LANGUAGE C;
340+
LANGUAGE C IMMUTABLE;
341341

342342
CREATE FUNCTION g_int_penalty(internal,internal,internal)
343343
RETURNS internal
344344
AS 'MODULE_PATHNAME'
345-
LANGUAGE CRETURNS NULL ON NULL INPUT;
345+
LANGUAGE CIMMUTABLE STRICT;
346346

347347
CREATE FUNCTION g_int_picksplit(internal, internal)
348348
RETURNS internal
349349
AS 'MODULE_PATHNAME'
350-
LANGUAGE C;
350+
LANGUAGE C IMMUTABLE;
351351

352352
CREATE FUNCTION g_int_union(internal, internal)
353353
RETURNS _int4
354354
AS 'MODULE_PATHNAME'
355-
LANGUAGE C;
355+
LANGUAGE C IMMUTABLE;
356356

357357
CREATE FUNCTION g_int_same(_int4, _int4, internal)
358358
RETURNS internal
359359
AS '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
388388
CREATE FUNCTION _intbig_in(cstring)
389389
RETURNS intbig_gkey
390390
AS 'MODULE_PATHNAME'
391-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
391+
LANGUAGE CSTRICT IMMUTABLE;
392392

393393
CREATE FUNCTION _intbig_out(intbig_gkey)
394394
RETURNS cstring
395395
AS 'MODULE_PATHNAME'
396-
LANGUAGE CRETURNS NULL ON NULL INPUT IMMUTABLE;
396+
LANGUAGE CSTRICT IMMUTABLE;
397397

398398
CREATE TYPE intbig_gkey (
399399
INTERNALLENGTH = -1,
@@ -404,37 +404,37 @@ CREATE TYPE intbig_gkey (
404404
CREATE FUNCTION g_intbig_consistent(internal,internal,int4)
405405
RETURNS bool
406406
AS 'MODULE_PATHNAME'
407-
LANGUAGE C;
407+
LANGUAGE C IMMUTABLE;
408408

409409
CREATE FUNCTION g_intbig_compress(internal)
410410
RETURNS internal
411411
AS 'MODULE_PATHNAME'
412-
LANGUAGE C;
412+
LANGUAGE C IMMUTABLE;
413413

414414
CREATE FUNCTION g_intbig_decompress(internal)
415415
RETURNS internal
416416
AS 'MODULE_PATHNAME'
417-
LANGUAGE C;
417+
LANGUAGE C IMMUTABLE;
418418

419419
CREATE FUNCTION g_intbig_penalty(internal,internal,internal)
420420
RETURNS internal
421421
AS 'MODULE_PATHNAME'
422-
LANGUAGE CRETURNS NULL ON NULL INPUT;
422+
LANGUAGE CIMMUTABLE STRICT;
423423

424424
CREATE FUNCTION g_intbig_picksplit(internal, internal)
425425
RETURNS internal
426426
AS 'MODULE_PATHNAME'
427-
LANGUAGE C;
427+
LANGUAGE C IMMUTABLE;
428428

429429
CREATE FUNCTION g_intbig_union(internal, internal)
430430
RETURNS _int4
431431
AS 'MODULE_PATHNAME'
432-
LANGUAGE C;
432+
LANGUAGE C IMMUTABLE;
433433

434434
CREATE FUNCTION g_intbig_same(internal, internal, internal)
435435
RETURNS internal
436436
AS 'MODULE_PATHNAME'
437-
LANGUAGE C;
437+
LANGUAGE C IMMUTABLE;
438438

439439
-- register the opclass for indexing (not as default)
440440

@@ -462,12 +462,12 @@ AS
462462
CREATE FUNCTION ginint4_queryextract(internal, internal, int2)
463463
RETURNS internal
464464
AS 'MODULE_PATHNAME'
465-
LANGUAGE C;
465+
LANGUAGE C IMMUTABLE;
466466

467467
CREATE FUNCTION ginint4_consistent(internal, int2, internal)
468468
RETURNS internal
469469
AS 'MODULE_PATHNAME'
470-
LANGUAGE C;
470+
LANGUAGE C IMMUTABLE;
471471

472472
CREATE OPERATOR CLASS gin__int_ops
473473
FOR TYPE _int4 USING gin

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp