mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
458857cc9d
We have seen one too many reports of people trying to use 9.1 extension files in the old-fashioned way of sourcing them in psql. Not only does that usually not work (due to failure to substitute for MODULE_PATHNAME and/or @extschema@), but if it did work they'd get a collection of loose objects not an extension. To prevent this, insert an \echo ... \quit line that prints a suitable error message into each extension script file, and teach commands/extension.c to ignore lines starting with \echo. That should not only prevent any adverse consequences of loading a script file the wrong way, but make it crystal clear to users that they need to do it differently now. Tom Lane, following an idea of Andrew Dunstan's. Back-patch into 9.1 ... there is not going to be much value in this if we wait till 9.2.
92 lines
5.0 KiB
SQL
92 lines
5.0 KiB
SQL
/* contrib/citext/citext--unpackaged--1.0.sql */
|
|
|
|
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
|
|
\echo Use "CREATE EXTENSION citext" to load this file. \quit
|
|
|
|
ALTER EXTENSION citext ADD type citext;
|
|
ALTER EXTENSION citext ADD function citextin(cstring);
|
|
ALTER EXTENSION citext ADD function citextout(citext);
|
|
ALTER EXTENSION citext ADD function citextrecv(internal);
|
|
ALTER EXTENSION citext ADD function citextsend(citext);
|
|
ALTER EXTENSION citext ADD function citext(character);
|
|
ALTER EXTENSION citext ADD function citext(boolean);
|
|
ALTER EXTENSION citext ADD function citext(inet);
|
|
ALTER EXTENSION citext ADD cast (citext as text);
|
|
ALTER EXTENSION citext ADD cast (citext as character varying);
|
|
ALTER EXTENSION citext ADD cast (citext as character);
|
|
ALTER EXTENSION citext ADD cast (text as citext);
|
|
ALTER EXTENSION citext ADD cast (character varying as citext);
|
|
ALTER EXTENSION citext ADD cast (character as citext);
|
|
ALTER EXTENSION citext ADD cast (boolean as citext);
|
|
ALTER EXTENSION citext ADD cast (inet as citext);
|
|
ALTER EXTENSION citext ADD function citext_eq(citext,citext);
|
|
ALTER EXTENSION citext ADD function citext_ne(citext,citext);
|
|
ALTER EXTENSION citext ADD function citext_lt(citext,citext);
|
|
ALTER EXTENSION citext ADD function citext_le(citext,citext);
|
|
ALTER EXTENSION citext ADD function citext_gt(citext,citext);
|
|
ALTER EXTENSION citext ADD function citext_ge(citext,citext);
|
|
ALTER EXTENSION citext ADD operator <>(citext,citext);
|
|
ALTER EXTENSION citext ADD operator =(citext,citext);
|
|
ALTER EXTENSION citext ADD operator >(citext,citext);
|
|
ALTER EXTENSION citext ADD operator >=(citext,citext);
|
|
ALTER EXTENSION citext ADD operator <(citext,citext);
|
|
ALTER EXTENSION citext ADD operator <=(citext,citext);
|
|
ALTER EXTENSION citext ADD function citext_cmp(citext,citext);
|
|
ALTER EXTENSION citext ADD function citext_hash(citext);
|
|
ALTER EXTENSION citext ADD operator family citext_ops using btree;
|
|
ALTER EXTENSION citext ADD operator class citext_ops using btree;
|
|
ALTER EXTENSION citext ADD operator family citext_ops using hash;
|
|
ALTER EXTENSION citext ADD operator class citext_ops using hash;
|
|
ALTER EXTENSION citext ADD function citext_smaller(citext,citext);
|
|
ALTER EXTENSION citext ADD function citext_larger(citext,citext);
|
|
ALTER EXTENSION citext ADD function min(citext);
|
|
ALTER EXTENSION citext ADD function max(citext);
|
|
ALTER EXTENSION citext ADD function texticlike(citext,citext);
|
|
ALTER EXTENSION citext ADD function texticnlike(citext,citext);
|
|
ALTER EXTENSION citext ADD function texticregexeq(citext,citext);
|
|
ALTER EXTENSION citext ADD function texticregexne(citext,citext);
|
|
ALTER EXTENSION citext ADD operator !~(citext,citext);
|
|
ALTER EXTENSION citext ADD operator ~(citext,citext);
|
|
ALTER EXTENSION citext ADD operator !~*(citext,citext);
|
|
ALTER EXTENSION citext ADD operator ~*(citext,citext);
|
|
ALTER EXTENSION citext ADD operator !~~(citext,citext);
|
|
ALTER EXTENSION citext ADD operator ~~(citext,citext);
|
|
ALTER EXTENSION citext ADD operator !~~*(citext,citext);
|
|
ALTER EXTENSION citext ADD operator ~~*(citext,citext);
|
|
ALTER EXTENSION citext ADD function texticlike(citext,text);
|
|
ALTER EXTENSION citext ADD function texticnlike(citext,text);
|
|
ALTER EXTENSION citext ADD function texticregexeq(citext,text);
|
|
ALTER EXTENSION citext ADD function texticregexne(citext,text);
|
|
ALTER EXTENSION citext ADD operator !~(citext,text);
|
|
ALTER EXTENSION citext ADD operator ~(citext,text);
|
|
ALTER EXTENSION citext ADD operator !~*(citext,text);
|
|
ALTER EXTENSION citext ADD operator ~*(citext,text);
|
|
ALTER EXTENSION citext ADD operator !~~(citext,text);
|
|
ALTER EXTENSION citext ADD operator ~~(citext,text);
|
|
ALTER EXTENSION citext ADD operator !~~*(citext,text);
|
|
ALTER EXTENSION citext ADD operator ~~*(citext,text);
|
|
ALTER EXTENSION citext ADD function regexp_matches(citext,citext);
|
|
ALTER EXTENSION citext ADD function regexp_matches(citext,citext,text);
|
|
ALTER EXTENSION citext ADD function regexp_replace(citext,citext,text);
|
|
ALTER EXTENSION citext ADD function regexp_replace(citext,citext,text,text);
|
|
ALTER EXTENSION citext ADD function regexp_split_to_array(citext,citext);
|
|
ALTER EXTENSION citext ADD function regexp_split_to_array(citext,citext,text);
|
|
ALTER EXTENSION citext ADD function regexp_split_to_table(citext,citext);
|
|
ALTER EXTENSION citext ADD function regexp_split_to_table(citext,citext,text);
|
|
ALTER EXTENSION citext ADD function strpos(citext,citext);
|
|
ALTER EXTENSION citext ADD function replace(citext,citext,citext);
|
|
ALTER EXTENSION citext ADD function split_part(citext,citext,integer);
|
|
ALTER EXTENSION citext ADD function translate(citext,citext,text);
|
|
|
|
--
|
|
-- As of 9.1, type citext should be marked collatable. There is no ALTER TYPE
|
|
-- command for this, so we have to do it by poking the pg_type entry directly.
|
|
-- Notes: 100 is the OID of the "pg_catalog.default" collation --- it seems
|
|
-- easier and more reliable to hard-wire that here than to pull it out of
|
|
-- pg_collation. Also, we don't need a pg_depend entry since the default
|
|
-- collation is pinned.
|
|
--
|
|
|
|
UPDATE pg_catalog.pg_type SET typcollation = 100
|
|
WHERE oid = 'citext'::pg_catalog.regtype;
|