Hackfut Security File Manager
Current Path:
/opt/td-agent/embedded/share/postgresql/extension
opt
/
td-agent
/
embedded
/
share
/
postgresql
/
extension
/
📁
..
📄
adminpack--1.0--1.1.sql
(274 B)
📄
adminpack--1.0.sql
(1.5 KB)
📄
adminpack--1.1.sql
(1.57 KB)
📄
adminpack.control
(176 B)
📄
autoinc--1.0.sql
(249 B)
📄
autoinc--unpackaged--1.0.sql
(250 B)
📄
autoinc.control
(149 B)
📄
bloom--1.0.sql
(666 B)
📄
bloom.control
(156 B)
📄
btree_gin--1.0.sql
(24.24 KB)
📄
btree_gin--unpackaged--1.0.sql
(9.87 KB)
📄
btree_gin.control
(160 B)
📄
btree_gist--1.0--1.1.sql
(3.65 KB)
📄
btree_gist--1.1--1.2.sql
(4.24 KB)
📄
btree_gist--1.2.sql
(40.15 KB)
📄
btree_gist--unpackaged--1.0.sql
(20.98 KB)
📄
btree_gist.control
(163 B)
📄
chkpass--1.0.sql
(1.33 KB)
📄
chkpass--unpackaged--1.0.sql
(635 B)
📄
chkpass.control
(150 B)
📄
citext--1.0--1.1.sql
(1 KB)
📄
citext--1.1--1.2.sql
(2.68 KB)
📄
citext--1.2--1.3.sql
(307 B)
📄
citext--1.3.sql
(12.69 KB)
📄
citext--unpackaged--1.0.sql
(9.55 KB)
📄
citext.control
(158 B)
📄
cube--1.0--1.1.sql
(1.56 KB)
📄
cube--1.1--1.2.sql
(3.16 KB)
📄
cube--1.2.sql
(9.53 KB)
📄
cube--unpackaged--1.0.sql
(3.12 KB)
📄
cube.control
(142 B)
📄
dblink--1.0--1.1.sql
(419 B)
📄
dblink--1.1--1.2.sql
(2.77 KB)
📄
dblink--1.2.sql
(6.49 KB)
📄
dblink--unpackaged--1.0.sql
(2.8 KB)
📄
dblink.control
(170 B)
📄
dict_int--1.0.sql
(711 B)
📄
dict_int--unpackaged--1.0.sql
(493 B)
📄
dict_int.control
(158 B)
📄
dict_xsyn--1.0.sql
(694 B)
📄
dict_xsyn--unpackaged--1.0.sql
(488 B)
📄
dict_xsyn.control
(179 B)
📄
earthdistance--1.0--1.1.sql
(671 B)
📄
earthdistance--1.1.sql
(3.15 KB)
📄
earthdistance--unpackaged--1.0.sql
(959 B)
📄
earthdistance.control
(202 B)
📄
file_fdw--1.0.sql
(475 B)
📄
file_fdw.control
(155 B)
📄
fuzzystrmatch--1.0--1.1.sql
(788 B)
📄
fuzzystrmatch--1.1.sql
(1.54 KB)
📄
fuzzystrmatch--unpackaged--1.0.sql
(1.08 KB)
📄
fuzzystrmatch.control
(175 B)
📄
hstore--1.0--1.1.sql
(279 B)
📄
hstore--1.1--1.2.sql
(1.17 KB)
📄
hstore--1.2--1.3.sql
(525 B)
📄
hstore--1.3--1.4.sql
(4.58 KB)
📄
hstore--1.4.sql
(13.44 KB)
📄
hstore--unpackaged--1.0.sql
(5.38 KB)
📄
hstore.control
(158 B)
📄
insert_username--1.0.sql
(273 B)
📄
insert_username--unpackaged--1.0.sql
(282 B)
📄
insert_username.control
(170 B)
📄
intagg--1.0--1.1.sql
(471 B)
📄
intagg--1.1.sql
(1.06 KB)
📄
intagg--unpackaged--1.0.sql
(468 B)
📄
intagg.control
(119 B)
📄
intarray--1.0--1.1.sql
(1.75 KB)
📄
intarray--1.1--1.2.sql
(4.81 KB)
📄
intarray--1.2.sql
(12 KB)
📄
intarray--unpackaged--1.0.sql
(6.61 KB)
📄
intarray.control
(176 B)
📄
isn--1.0--1.1.sql
(12.04 KB)
📄
isn--1.1.sql
(68.25 KB)
📄
isn--unpackaged--1.0.sql
(23.15 KB)
📄
isn.control
(160 B)
📄
lo--1.0--1.1.sql
(223 B)
📄
lo--1.1.sql
(722 B)
📄
lo--unpackaged--1.0.sql
(314 B)
📄
lo.control
(126 B)
📄
ltree--1.0--1.1.sql
(5.55 KB)
📄
ltree--1.1.sql
(18.92 KB)
📄
ltree--unpackaged--1.0.sql
(7.81 KB)
📄
ltree.control
(155 B)
📄
moddatetime--1.0.sql
(261 B)
📄
moddatetime--unpackaged--1.0.sql
(266 B)
📄
moddatetime.control
(165 B)
📄
pageinspect--1.0--1.1.sql
(560 B)
📄
pageinspect--1.1--1.2.sql
(562 B)
📄
pageinspect--1.2--1.3.sql
(1.9 KB)
📄
pageinspect--1.3--1.4.sql
(2.51 KB)
📄
pageinspect--1.4--1.5.sql
(1.32 KB)
📄
pageinspect--1.5.sql
(6.12 KB)
📄
pageinspect--unpackaged--1.0.sql
(1.09 KB)
📄
pageinspect.control
(173 B)
📄
pg_buffercache--1.0--1.1.sql
(508 B)
📄
pg_buffercache--1.1--1.2.sql
(271 B)
📄
pg_buffercache--1.2.sql
(794 B)
📄
pg_buffercache--unpackaged--1.0.sql
(351 B)
📄
pg_buffercache.control
(157 B)
📄
pg_freespacemap--1.0--1.1.sql
(335 B)
📄
pg_freespacemap--1.1.sql
(899 B)
📄
pg_freespacemap--unpackaged--1.0.sql
(375 B)
📄
pg_freespacemap.control
(160 B)
📄
pg_prewarm--1.0--1.1.sql
(281 B)
📄
pg_prewarm--1.1.sql
(475 B)
📄
pg_prewarm.control
(139 B)
📄
pg_stat_statements--1.0--1.1.sql
(1.22 KB)
📄
pg_stat_statements--1.1--1.2.sql
(1.3 KB)
📄
pg_stat_statements--1.2--1.3.sql
(1.42 KB)
📄
pg_stat_statements--1.3--1.4.sql
(345 B)
📄
pg_stat_statements--1.4.sql
(1.39 KB)
📄
pg_stat_statements--unpackaged--1.0.sql
(449 B)
📄
pg_stat_statements.control
(191 B)
📄
pg_trgm--1.0--1.1.sql
(536 B)
📄
pg_trgm--1.1--1.2.sql
(2.14 KB)
📄
pg_trgm--1.2--1.3.sql
(2.83 KB)
📄
pg_trgm--1.3.sql
(7.79 KB)
📄
pg_trgm--unpackaged--1.0.sql
(4.15 KB)
📄
pg_trgm.control
(177 B)
📄
pg_visibility--1.0--1.1.sql
(883 B)
📄
pg_visibility--1.1.sql
(2.76 KB)
📄
pg_visibility.control
(186 B)
📄
pgcrypto--1.0--1.1.sql
(307 B)
📄
pgcrypto--1.1--1.2.sql
(483 B)
📄
pgcrypto--1.2--1.3.sql
(2.29 KB)
📄
pgcrypto--1.3.sql
(5.57 KB)
📄
pgcrypto--unpackaged--1.0.sql
(2.39 KB)
📄
pgcrypto.control
(137 B)
📄
pgrowlocks--1.0--1.1.sql
(651 B)
📄
pgrowlocks--1.1--1.2.sql
(253 B)
📄
pgrowlocks--1.2.sql
(555 B)
📄
pgrowlocks--unpackaged--1.0.sql
(273 B)
📄
pgrowlocks.control
(152 B)
📄
pgstattuple--1.0--1.1.sql
(400 B)
📄
pgstattuple--1.1--1.2.sql
(1.4 KB)
📄
pgstattuple--1.2--1.3.sql
(1.1 KB)
📄
pgstattuple--1.3--1.4.sql
(623 B)
📄
pgstattuple--1.4.sql
(3.68 KB)
📄
pgstattuple--unpackaged--1.0.sql
(457 B)
📄
pgstattuple.control
(147 B)
📄
plpgsql--1.0.sql
(332 B)
📄
plpgsql--unpackaged--1.0.sql
(381 B)
📄
plpgsql.control
(179 B)
📄
postgres_fdw--1.0.sql
(507 B)
📄
postgres_fdw.control
(172 B)
📄
refint--1.0.sql
(343 B)
📄
refint--unpackaged--1.0.sql
(314 B)
📄
refint.control
(169 B)
📄
seg--1.0--1.1.sql
(2.38 KB)
📄
seg--1.1.sql
(7.95 KB)
📄
seg--unpackaged--1.0.sql
(2.72 KB)
📄
seg.control
(172 B)
📄
sslinfo--1.0--1.1.sql
(375 B)
📄
sslinfo--1.1--1.2.sql
(746 B)
📄
sslinfo--1.2.sql
(1.5 KB)
📄
sslinfo--unpackaged--1.0.sql
(846 B)
📄
sslinfo.control
(146 B)
📄
tablefunc--1.0.sql
(2.1 KB)
📄
tablefunc--unpackaged--1.0.sql
(1.13 KB)
📄
tablefunc.control
(174 B)
📄
tcn--1.0.sql
(274 B)
📄
tcn.control
(134 B)
📄
timetravel--1.0.sql
(486 B)
📄
timetravel--unpackaged--1.0.sql
(394 B)
📄
timetravel.control
(156 B)
📄
tsearch2--1.0.sql
(15.35 KB)
📄
tsearch2--unpackaged--1.0.sql
(8.89 KB)
📄
tsearch2.control
(313 B)
📄
tsm_system_rows--1.0.sql
(327 B)
📄
tsm_system_rows.control
(186 B)
📄
tsm_system_time--1.0.sql
(327 B)
📄
tsm_system_time.control
(192 B)
📄
unaccent--1.0--1.1.sql
(445 B)
📄
unaccent--1.1.sql
(910 B)
📄
unaccent--unpackaged--1.0.sql
(766 B)
📄
unaccent.control
(157 B)
Editing: citext--1.3.sql
/* contrib/citext/citext--1.2.sql */ -- complain if script is sourced in psql, rather than via CREATE EXTENSION \echo Use "CREATE EXTENSION citext" to load this file. \quit -- -- PostgreSQL code for CITEXT. -- -- Most I/O functions, and a few others, piggyback on the "text" type -- functions via the implicit cast to text. -- -- -- Shell type to keep things a bit quieter. -- CREATE TYPE citext; -- -- Input and output functions. -- CREATE FUNCTION citextin(cstring) RETURNS citext AS 'textin' LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION citextout(citext) RETURNS cstring AS 'textout' LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION citextrecv(internal) RETURNS citext AS 'textrecv' LANGUAGE internal STABLE STRICT PARALLEL SAFE; CREATE FUNCTION citextsend(citext) RETURNS bytea AS 'textsend' LANGUAGE internal STABLE STRICT PARALLEL SAFE; -- -- The type itself. -- CREATE TYPE citext ( INPUT = citextin, OUTPUT = citextout, RECEIVE = citextrecv, SEND = citextsend, INTERNALLENGTH = VARIABLE, STORAGE = extended, -- make it a non-preferred member of string type category CATEGORY = 'S', PREFERRED = false, COLLATABLE = true ); -- -- Type casting functions for those situations where the I/O casts don't -- automatically kick in. -- CREATE FUNCTION citext(bpchar) RETURNS citext AS 'rtrim1' LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION citext(boolean) RETURNS citext AS 'booltext' LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION citext(inet) RETURNS citext AS 'network_show' LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE; -- -- Implicit and assignment type casts. -- CREATE CAST (citext AS text) WITHOUT FUNCTION AS IMPLICIT; CREATE CAST (citext AS varchar) WITHOUT FUNCTION AS IMPLICIT; CREATE CAST (citext AS bpchar) WITHOUT FUNCTION AS ASSIGNMENT; CREATE CAST (text AS citext) WITHOUT FUNCTION AS ASSIGNMENT; CREATE CAST (varchar AS citext) WITHOUT FUNCTION AS ASSIGNMENT; CREATE CAST (bpchar AS citext) WITH FUNCTION citext(bpchar) AS ASSIGNMENT; CREATE CAST (boolean AS citext) WITH FUNCTION citext(boolean) AS ASSIGNMENT; CREATE CAST (inet AS citext) WITH FUNCTION citext(inet) AS ASSIGNMENT; -- -- Operator Functions. -- CREATE FUNCTION citext_eq( citext, citext ) RETURNS bool AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION citext_ne( citext, citext ) RETURNS bool AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION citext_lt( citext, citext ) RETURNS bool AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION citext_le( citext, citext ) RETURNS bool AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION citext_gt( citext, citext ) RETURNS bool AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION citext_ge( citext, citext ) RETURNS bool AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; -- -- Operators. -- CREATE OPERATOR = ( LEFTARG = CITEXT, RIGHTARG = CITEXT, COMMUTATOR = =, NEGATOR = <>, PROCEDURE = citext_eq, RESTRICT = eqsel, JOIN = eqjoinsel, HASHES, MERGES ); CREATE OPERATOR <> ( LEFTARG = CITEXT, RIGHTARG = CITEXT, NEGATOR = =, COMMUTATOR = <>, PROCEDURE = citext_ne, RESTRICT = neqsel, JOIN = neqjoinsel ); CREATE OPERATOR < ( LEFTARG = CITEXT, RIGHTARG = CITEXT, NEGATOR = >=, COMMUTATOR = >, PROCEDURE = citext_lt, RESTRICT = scalarltsel, JOIN = scalarltjoinsel ); CREATE OPERATOR <= ( LEFTARG = CITEXT, RIGHTARG = CITEXT, NEGATOR = >, COMMUTATOR = >=, PROCEDURE = citext_le, RESTRICT = scalarltsel, JOIN = scalarltjoinsel ); CREATE OPERATOR >= ( LEFTARG = CITEXT, RIGHTARG = CITEXT, NEGATOR = <, COMMUTATOR = <=, PROCEDURE = citext_ge, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR > ( LEFTARG = CITEXT, RIGHTARG = CITEXT, NEGATOR = <=, COMMUTATOR = <, PROCEDURE = citext_gt, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); -- -- Support functions for indexing. -- CREATE FUNCTION citext_cmp(citext, citext) RETURNS int4 AS 'MODULE_PATHNAME' LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE; CREATE FUNCTION citext_hash(citext) RETURNS int4 AS 'MODULE_PATHNAME' LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE; -- -- The btree indexing operator class. -- CREATE OPERATOR CLASS citext_ops DEFAULT FOR TYPE CITEXT USING btree AS OPERATOR 1 < (citext, citext), OPERATOR 2 <= (citext, citext), OPERATOR 3 = (citext, citext), OPERATOR 4 >= (citext, citext), OPERATOR 5 > (citext, citext), FUNCTION 1 citext_cmp(citext, citext); -- -- The hash indexing operator class. -- CREATE OPERATOR CLASS citext_ops DEFAULT FOR TYPE citext USING hash AS OPERATOR 1 = (citext, citext), FUNCTION 1 citext_hash(citext); -- -- Aggregates. -- CREATE FUNCTION citext_smaller(citext, citext) RETURNS citext AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION citext_larger(citext, citext) RETURNS citext AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; CREATE AGGREGATE min(citext) ( SFUNC = citext_smaller, STYPE = citext, SORTOP = <, PARALLEL = SAFE, COMBINEFUNC = citext_smaller ); CREATE AGGREGATE max(citext) ( SFUNC = citext_larger, STYPE = citext, SORTOP = >, PARALLEL = SAFE, COMBINEFUNC = citext_larger ); -- -- CITEXT pattern matching. -- CREATE FUNCTION texticlike(citext, citext) RETURNS bool AS 'texticlike' LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION texticnlike(citext, citext) RETURNS bool AS 'texticnlike' LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION texticregexeq(citext, citext) RETURNS bool AS 'texticregexeq' LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION texticregexne(citext, citext) RETURNS bool AS 'texticregexne' LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE; CREATE OPERATOR ~ ( PROCEDURE = texticregexeq, LEFTARG = citext, RIGHTARG = citext, NEGATOR = !~, RESTRICT = icregexeqsel, JOIN = icregexeqjoinsel ); CREATE OPERATOR ~* ( PROCEDURE = texticregexeq, LEFTARG = citext, RIGHTARG = citext, NEGATOR = !~*, RESTRICT = icregexeqsel, JOIN = icregexeqjoinsel ); CREATE OPERATOR !~ ( PROCEDURE = texticregexne, LEFTARG = citext, RIGHTARG = citext, NEGATOR = ~, RESTRICT = icregexnesel, JOIN = icregexnejoinsel ); CREATE OPERATOR !~* ( PROCEDURE = texticregexne, LEFTARG = citext, RIGHTARG = citext, NEGATOR = ~*, RESTRICT = icregexnesel, JOIN = icregexnejoinsel ); CREATE OPERATOR ~~ ( PROCEDURE = texticlike, LEFTARG = citext, RIGHTARG = citext, NEGATOR = !~~, RESTRICT = iclikesel, JOIN = iclikejoinsel ); CREATE OPERATOR ~~* ( PROCEDURE = texticlike, LEFTARG = citext, RIGHTARG = citext, NEGATOR = !~~*, RESTRICT = iclikesel, JOIN = iclikejoinsel ); CREATE OPERATOR !~~ ( PROCEDURE = texticnlike, LEFTARG = citext, RIGHTARG = citext, NEGATOR = ~~, RESTRICT = icnlikesel, JOIN = icnlikejoinsel ); CREATE OPERATOR !~~* ( PROCEDURE = texticnlike, LEFTARG = citext, RIGHTARG = citext, NEGATOR = ~~*, RESTRICT = icnlikesel, JOIN = icnlikejoinsel ); -- -- Matching citext to text. -- CREATE FUNCTION texticlike(citext, text) RETURNS bool AS 'texticlike' LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION texticnlike(citext, text) RETURNS bool AS 'texticnlike' LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION texticregexeq(citext, text) RETURNS bool AS 'texticregexeq' LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION texticregexne(citext, text) RETURNS bool AS 'texticregexne' LANGUAGE internal IMMUTABLE STRICT PARALLEL SAFE; CREATE OPERATOR ~ ( PROCEDURE = texticregexeq, LEFTARG = citext, RIGHTARG = text, NEGATOR = !~, RESTRICT = icregexeqsel, JOIN = icregexeqjoinsel ); CREATE OPERATOR ~* ( PROCEDURE = texticregexeq, LEFTARG = citext, RIGHTARG = text, NEGATOR = !~*, RESTRICT = icregexeqsel, JOIN = icregexeqjoinsel ); CREATE OPERATOR !~ ( PROCEDURE = texticregexne, LEFTARG = citext, RIGHTARG = text, NEGATOR = ~, RESTRICT = icregexnesel, JOIN = icregexnejoinsel ); CREATE OPERATOR !~* ( PROCEDURE = texticregexne, LEFTARG = citext, RIGHTARG = text, NEGATOR = ~*, RESTRICT = icregexnesel, JOIN = icregexnejoinsel ); CREATE OPERATOR ~~ ( PROCEDURE = texticlike, LEFTARG = citext, RIGHTARG = text, NEGATOR = !~~, RESTRICT = iclikesel, JOIN = iclikejoinsel ); CREATE OPERATOR ~~* ( PROCEDURE = texticlike, LEFTARG = citext, RIGHTARG = text, NEGATOR = !~~*, RESTRICT = iclikesel, JOIN = iclikejoinsel ); CREATE OPERATOR !~~ ( PROCEDURE = texticnlike, LEFTARG = citext, RIGHTARG = text, NEGATOR = ~~, RESTRICT = icnlikesel, JOIN = icnlikejoinsel ); CREATE OPERATOR !~~* ( PROCEDURE = texticnlike, LEFTARG = citext, RIGHTARG = text, NEGATOR = ~~*, RESTRICT = icnlikesel, JOIN = icnlikejoinsel ); -- -- Matching citext in string comparison functions. -- XXX TODO Ideally these would be implemented in C. -- CREATE FUNCTION regexp_matches( citext, citext ) RETURNS SETOF TEXT[] AS $$ SELECT pg_catalog.regexp_matches( $1::pg_catalog.text, $2::pg_catalog.text, 'i' ); $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE ROWS 1; CREATE FUNCTION regexp_matches( citext, citext, text ) RETURNS SETOF TEXT[] AS $$ 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 ); $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE ROWS 10; CREATE FUNCTION regexp_replace( citext, citext, text ) returns TEXT AS $$ SELECT pg_catalog.regexp_replace( $1::pg_catalog.text, $2::pg_catalog.text, $3, 'i'); $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION regexp_replace( citext, citext, text, text ) returns TEXT AS $$ 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); $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION regexp_split_to_array( citext, citext ) RETURNS TEXT[] AS $$ SELECT pg_catalog.regexp_split_to_array( $1::pg_catalog.text, $2::pg_catalog.text, 'i' ); $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION regexp_split_to_array( citext, citext, text ) RETURNS TEXT[] AS $$ 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 ); $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION regexp_split_to_table( citext, citext ) RETURNS SETOF TEXT AS $$ SELECT pg_catalog.regexp_split_to_table( $1::pg_catalog.text, $2::pg_catalog.text, 'i' ); $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION regexp_split_to_table( citext, citext, text ) RETURNS SETOF TEXT AS $$ 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 ); $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION strpos( citext, citext ) RETURNS INT AS $$ SELECT pg_catalog.strpos( pg_catalog.lower( $1::pg_catalog.text ), pg_catalog.lower( $2::pg_catalog.text ) ); $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION replace( citext, citext, citext ) RETURNS TEXT AS $$ 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' ); $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION split_part( citext, citext, int ) RETURNS TEXT AS $$ 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]; $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; CREATE FUNCTION translate( citext, citext, text ) RETURNS TEXT AS $$ 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); $$ LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE;
Upload File
Create Folder