1- /* contrib/citext/citext--1.1 .sql */
1+ /* contrib/citext/citext--1.2 .sql */
22
33-- complain if script is sourced in psql, rather than via CREATE EXTENSION
44\echo Use " CREATE EXTENSION citext" to load this file. \quit
@@ -22,22 +22,22 @@ CREATE TYPE citext;
2222CREATE FUNCTION citextin (cstring)
2323RETURNS citext
2424AS ' textin'
25- LANGUAGE internal IMMUTABLE STRICT;
25+ LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE ;
2626
2727CREATE FUNCTION citextout (citext)
2828RETURNS cstring
2929AS ' textout'
30- LANGUAGE internal IMMUTABLE STRICT;
30+ LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE ;
3131
3232CREATE FUNCTION citextrecv (internal)
3333RETURNS citext
3434AS ' textrecv'
35- LANGUAGE internal STABLE STRICT;
35+ LANGUAGE internal STABLE STRICT PARALLEL SAFE ;
3636
3737CREATE FUNCTION citextsend (citext)
3838RETURNS bytea
3939AS ' textsend'
40- LANGUAGE internal STABLE STRICT;
40+ LANGUAGE internal STABLE STRICT PARALLEL SAFE ;
4141
4242--
4343-- The type itself.
@@ -64,17 +64,17 @@ CREATE TYPE citext (
6464CREATE FUNCTION citext (bpchar)
6565RETURNS citext
6666AS ' rtrim1'
67- LANGUAGE internal IMMUTABLE STRICT;
67+ LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE ;
6868
6969CREATE FUNCTION citext (boolean )
7070RETURNS citext
7171AS ' booltext'
72- LANGUAGE internal IMMUTABLE STRICT;
72+ LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE ;
7373
7474CREATE FUNCTION citext (inet )
7575RETURNS citext
7676AS ' network_show'
77- LANGUAGE internal IMMUTABLE STRICT;
77+ LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE ;
7878
7979--
8080-- Implicit and assignment type casts.
@@ -96,32 +96,32 @@ CREATE CAST (inet AS citext) WITH FUNCTION citext(inet) AS ASSIGNMENT;
9696CREATE FUNCTION citext_eq ( citext, citext )
9797RETURNS bool
9898AS ' MODULE_PATHNAME'
99- LANGUAGE C IMMUTABLE STRICT;
99+ LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE ;
100100
101101CREATE FUNCTION citext_ne ( citext, citext )
102102RETURNS bool
103103AS ' MODULE_PATHNAME'
104- LANGUAGE C IMMUTABLE STRICT;
104+ LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE ;
105105
106106CREATE FUNCTION citext_lt ( citext, citext )
107107RETURNS bool
108108AS ' MODULE_PATHNAME'
109- LANGUAGE C IMMUTABLE STRICT;
109+ LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE ;
110110
111111CREATE FUNCTION citext_le ( citext, citext )
112112RETURNS bool
113113AS ' MODULE_PATHNAME'
114- LANGUAGE C IMMUTABLE STRICT;
114+ LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE ;
115115
116116CREATE FUNCTION citext_gt ( citext, citext )
117117RETURNS bool
118118AS ' MODULE_PATHNAME'
119- LANGUAGE C IMMUTABLE STRICT;
119+ LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE ;
120120
121121CREATE FUNCTION citext_ge ( citext, citext )
122122RETURNS bool
123123AS ' MODULE_PATHNAME'
124- LANGUAGE C IMMUTABLE STRICT;
124+ LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE ;
125125
126126--
127127-- Operators.
@@ -196,12 +196,12 @@ CREATE OPERATOR > (
196196CREATE FUNCTION citext_cmp (citext, citext)
197197RETURNS int4
198198AS ' MODULE_PATHNAME'
199- LANGUAGE C STRICT IMMUTABLE;
199+ LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE ;
200200
201201CREATE FUNCTION citext_hash (citext)
202202RETURNS int4
203203AS ' MODULE_PATHNAME'
204- LANGUAGE C STRICT IMMUTABLE;
204+ LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE ;
205205
206206--
207207-- The btree indexing operator class.
@@ -232,23 +232,27 @@ DEFAULT FOR TYPE citext USING hash AS
232232CREATE FUNCTION citext_smaller (citext, citext)
233233RETURNS citext
234234AS ' MODULE_PATHNAME'
235- LANGUAGE C IMMUTABLE STRICT;
235+ LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE ;
236236
237237CREATE FUNCTION citext_larger (citext, citext)
238238RETURNS citext
239239AS ' MODULE_PATHNAME'
240- LANGUAGE C IMMUTABLE STRICT;
240+ LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE ;
241241
242242CREATE AGGREGATE min (citext) (
243243 SFUNC = citext_smaller,
244244 STYPE = citext,
245- SORTOP = <
245+ SORTOP = < ,
246+ PARALLEL = SAFE,
247+ COMBINEFUNC = citext_smaller
246248);
247249
248250CREATE AGGREGATE max (citext) (
249251 SFUNC = citext_larger,
250252 STYPE = citext,
251- SORTOP = >
253+ SORTOP = > ,
254+ PARALLEL = SAFE,
255+ COMBINEFUNC = citext_larger
252256);
253257
254258--
@@ -257,19 +261,19 @@ CREATE AGGREGATE max(citext) (
257261
258262CREATE FUNCTION texticlike (citext, citext)
259263RETURNS bool AS ' texticlike'
260- LANGUAGE internal IMMUTABLE STRICT;
264+ LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE ;
261265
262266CREATE FUNCTION texticnlike (citext, citext)
263267RETURNS bool AS ' texticnlike'
264- LANGUAGE internal IMMUTABLE STRICT;
268+ LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE ;
265269
266270CREATE FUNCTION texticregexeq (citext, citext)
267271RETURNS bool AS ' texticregexeq'
268- LANGUAGE internal IMMUTABLE STRICT;
272+ LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE ;
269273
270274CREATE FUNCTION texticregexne (citext, citext)
271275RETURNS bool AS ' texticregexne'
272- LANGUAGE internal IMMUTABLE STRICT;
276+ LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE ;
273277
274278CREATE OPERATOR ~ (
275279 PROCEDURE = texticregexeq,
@@ -349,19 +353,19 @@ CREATE OPERATOR !~~* (
349353
350354CREATE FUNCTION texticlike (citext, text )
351355RETURNS bool AS ' texticlike'
352- LANGUAGE internal IMMUTABLE STRICT;
356+ LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE ;
353357
354358CREATE FUNCTION texticnlike (citext, text )
355359RETURNS bool AS ' texticnlike'
356- LANGUAGE internal IMMUTABLE STRICT;
360+ LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE ;
357361
358362CREATE FUNCTION texticregexeq (citext, text )
359363RETURNS bool AS ' texticregexeq'
360- LANGUAGE internal IMMUTABLE STRICT;
364+ LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE ;
361365
362366CREATE FUNCTION texticregexne (citext, text )
363367RETURNS bool AS ' texticregexne'
364- LANGUAGE internal IMMUTABLE STRICT;
368+ LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE ;
365369
366370CREATE OPERATOR ~ (
367371 PROCEDURE = texticregexeq,
@@ -442,48 +446,48 @@ CREATE OPERATOR !~~* (
442446
443447CREATE FUNCTION regexp_matches ( citext, citext ) RETURNS SETOF TEXT [] AS $$
444448 SELECT pg_catalog .regexp_matches ( $1 ::pg_catalog .text , $2 ::pg_catalog .text , ' i' );
445- $$ LANGUAGE SQL IMMUTABLE STRICT ROWS 1 ;
449+ $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE ROWS 1 ;
446450
447451CREATE FUNCTION regexp_matches ( citext, citext, text ) RETURNS SETOF TEXT [] AS $$
448452 SELECT pg_catalog .regexp_matches ( $1 ::pg_catalog .text , $2 ::pg_catalog .text , CASE WHEN pg_catalog .strpos ($3 , ' c' ) = 0 THEN $3 || ' i' ELSE $3 END );
449- $$ LANGUAGE SQL IMMUTABLE STRICT ROWS 10 ;
453+ $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE ROWS 10 ;
450454
451455CREATE FUNCTION regexp_replace ( citext, citext, text ) returns TEXT AS $$
452456 SELECT pg_catalog .regexp_replace ( $1 ::pg_catalog .text , $2 ::pg_catalog .text , $3 , ' i' );
453- $$ LANGUAGE SQL IMMUTABLE STRICT;
457+ $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE ;
454458
455459CREATE FUNCTION regexp_replace ( citext, citext, text , text ) returns TEXT AS $$
456460 SELECT pg_catalog .regexp_replace ( $1 ::pg_catalog .text , $2 ::pg_catalog .text , $3 , CASE WHEN pg_catalog .strpos ($4 , ' c' ) = 0 THEN $4 || ' i' ELSE $4 END);
457- $$ LANGUAGE SQL IMMUTABLE STRICT;
461+ $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE ;
458462
459463CREATE FUNCTION regexp_split_to_array ( citext, citext ) RETURNS TEXT [] AS $$
460464 SELECT pg_catalog .regexp_split_to_array ( $1 ::pg_catalog .text , $2 ::pg_catalog .text , ' i' );
461- $$ LANGUAGE SQL IMMUTABLE STRICT;
465+ $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE ;
462466
463467CREATE FUNCTION regexp_split_to_array ( citext, citext, text ) RETURNS TEXT [] AS $$
464468 SELECT pg_catalog .regexp_split_to_array ( $1 ::pg_catalog .text , $2 ::pg_catalog .text , CASE WHEN pg_catalog .strpos ($3 , ' c' ) = 0 THEN $3 || ' i' ELSE $3 END );
465- $$ LANGUAGE SQL IMMUTABLE STRICT;
469+ $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE ;
466470
467471CREATE FUNCTION regexp_split_to_table ( citext, citext ) RETURNS SETOF TEXT AS $$
468472 SELECT pg_catalog .regexp_split_to_table ( $1 ::pg_catalog .text , $2 ::pg_catalog .text , ' i' );
469- $$ LANGUAGE SQL IMMUTABLE STRICT;
473+ $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE ;
470474
471475CREATE FUNCTION regexp_split_to_table ( citext, citext, text ) RETURNS SETOF TEXT AS $$
472476 SELECT pg_catalog .regexp_split_to_table ( $1 ::pg_catalog .text , $2 ::pg_catalog .text , CASE WHEN pg_catalog .strpos ($3 , ' c' ) = 0 THEN $3 || ' i' ELSE $3 END );
473- $$ LANGUAGE SQL IMMUTABLE STRICT;
477+ $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE ;
474478
475479CREATE FUNCTION strpos ( citext, citext ) RETURNS INT AS $$
476480 SELECT pg_catalog .strpos ( pg_catalog .lower ( $1 ::pg_catalog .text ), pg_catalog .lower ( $2 ::pg_catalog .text ) );
477- $$ LANGUAGE SQL IMMUTABLE STRICT;
481+ $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE ;
478482
479483CREATE FUNCTION replace ( citext, citext, citext ) RETURNS TEXT AS $$
480484 SELECT pg_catalog .regexp_replace ( $1 ::pg_catalog .text , pg_catalog .regexp_replace ($2 ::pg_catalog .text , ' ([^a-zA-Z_0-9])' , E' \\\\\\ 1' , ' g' ), $3 ::pg_catalog .text , ' gi' );
481- $$ LANGUAGE SQL IMMUTABLE STRICT;
485+ $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE ;
482486
483487CREATE FUNCTION split_part ( citext, citext, int ) RETURNS TEXT AS $$
484488 SELECT (pg_catalog .regexp_split_to_array ( $1 ::pg_catalog .text , pg_catalog .regexp_replace ($2 ::pg_catalog .text , ' ([^a-zA-Z_0-9])' , E' \\\\\\ 1' , ' g' ), ' i' ))[$3 ];
485- $$ LANGUAGE SQL IMMUTABLE STRICT;
489+ $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE ;
486490
487491CREATE FUNCTION translate ( citext, citext, text ) RETURNS TEXT AS $$
488492 SELECT pg_catalog .translate ( pg_catalog .translate ( $1 ::pg_catalog .text , pg_catalog .lower ($2 ::pg_catalog .text ), $3 ), pg_catalog .upper ($2 ::pg_catalog .text ), $3 );
489- $$ LANGUAGE SQL IMMUTABLE STRICT;
493+ $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE ;
0 commit comments