mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-29 22:49:41 +03:00 
			
		
		
		
	Create objects in public schema. Make spacing/capitalization consistent. Remove transaction block use for object creation. Remove unneeded function GRANTs.
		
			
				
	
	
		
			355 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			MySQL
		
	
	
	
	
	
			
		
		
	
	
			355 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			MySQL
		
	
	
	
	
	
| -- SQL code to define the new array iterator functions and operators
 | |
| 
 | |
| -- define the array operators *=, **=, *~ and **~ for type _text
 | |
| --
 | |
| 
 | |
| -- Adjust this setting to control where the objects get created.
 | |
| SET search_path = public;
 | |
| 
 | |
| SET autocommit TO 'on';
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_texteq(_text, text)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_all_texteq(_text, text)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_textregexeq(_text, text)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_all_textregexeq(_text, text)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OPERATOR *= (
 | |
| 	LEFTARG=_text, 
 | |
| 	RIGHTARG=text, 
 | |
| 	PROCEDURE=array_texteq
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR **= (
 | |
| 	LEFTARG=_text,
 | |
| 	RIGHTARG=text,
 | |
| 	PROCEDURE=array_all_texteq
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR *~ (
 | |
| 	LEFTARG=_text,
 | |
| 	RIGHTARG=text,
 | |
| 	PROCEDURE=array_textregexeq
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR **~ (
 | |
| 	LEFTARG=_text,
 | |
| 	RIGHTARG=text,
 | |
| 	PROCEDURE=array_all_textregexeq
 | |
| );
 | |
| 
 | |
| 
 | |
| -- define the array operators *=, **=, *~ and **~ for type _varchar
 | |
| --
 | |
| -- NOTE: "varchar" is also a reserved word and must be quoted.
 | |
| --
 | |
| CREATE OR REPLACE FUNCTION array_varchareq(_varchar, varchar)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_all_varchareq(_varchar, varchar)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_varcharregexeq(_varchar, varchar)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_all_varcharregexeq(_varchar, varchar)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OPERATOR *= (
 | |
| 	LEFTARG=_varchar, 
 | |
| 	RIGHTARG="varchar", 
 | |
| 	PROCEDURE=array_varchareq
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR **= (
 | |
| 	LEFTARG=_varchar,
 | |
| 	RIGHTARG="varchar",
 | |
| 	PROCEDURE=array_all_varchareq
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR *~ (
 | |
| 	LEFTARG=_varchar,
 | |
| 	RIGHTARG="varchar",
 | |
| 	PROCEDURE=array_varcharregexeq
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR **~ (
 | |
| 	LEFTARG=_varchar,
 | |
| 	RIGHTARG="varchar",
 | |
| 	PROCEDURE=array_all_varcharregexeq
 | |
| );
 | |
| 
 | |
| 
 | |
| -- define the array operators *=, **=, *~ and **~ for type _bpchar
 | |
| --
 | |
| CREATE OR REPLACE FUNCTION array_bpchareq(_bpchar, bpchar)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_all_bpchareq(_bpchar, bpchar)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_bpcharregexeq(_bpchar, bpchar)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_all_bpcharregexeq(_bpchar, bpchar)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OPERATOR *= (
 | |
| 	LEFTARG=_bpchar, 
 | |
| 	RIGHTARG=bpchar, 
 | |
| 	PROCEDURE=array_bpchareq
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR **= (
 | |
| 	LEFTARG=_bpchar,
 | |
| 	RIGHTARG=bpchar,
 | |
| 	PROCEDURE=array_all_bpchareq
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR *~ (
 | |
| 	LEFTARG=_bpchar,
 | |
| 	RIGHTARG=bpchar,
 | |
| 	PROCEDURE=array_bpcharregexeq
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR **~ (
 | |
| 	LEFTARG=_bpchar,
 | |
| 	RIGHTARG=bpchar,
 | |
| 	PROCEDURE=array_all_bpcharregexeq
 | |
| );
 | |
| 
 | |
| 
 | |
| -- define the array operators *=, **=, *> and **> for type _int4
 | |
| --
 | |
| CREATE OR REPLACE FUNCTION array_int4eq(_int4, int4)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_all_int4eq(_int4, int4)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_int4ne(_int4, int4)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_all_int4ne(_int4, int4)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_int4gt(_int4, int4)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_all_int4gt(_int4, int4)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_int4ge(_int4, int4)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_all_int4ge(_int4, int4)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_int4lt(_int4, int4)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_all_int4lt(_int4, int4)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_int4le(_int4, int4)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_all_int4le(_int4, int4)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OPERATOR *= (
 | |
| 	LEFTARG=_int4,
 | |
| 	RIGHTARG=int4,
 | |
| 	PROCEDURE=array_int4eq
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR **= (
 | |
| 	LEFTARG=_int4,
 | |
| 	RIGHTARG=int4,
 | |
| 	PROCEDURE=array_all_int4eq
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR *<> (
 | |
| 	LEFTARG=_int4,
 | |
| 	RIGHTARG=int4,
 | |
| 	PROCEDURE=array_int4ne
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR **<> (
 | |
| 	LEFTARG=_int4,
 | |
| 	RIGHTARG=int4,
 | |
| 	PROCEDURE=array_all_int4ne
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR *> (
 | |
| 	LEFTARG=_int4,
 | |
| 	RIGHTARG=int4,
 | |
| 	PROCEDURE=array_int4gt
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR **> (
 | |
| 	LEFTARG=_int4,
 | |
| 	RIGHTARG=int4,
 | |
| 	PROCEDURE=array_all_int4gt
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR *>= (
 | |
| 	LEFTARG=_int4,
 | |
| 	RIGHTARG=int4,
 | |
| 	PROCEDURE=array_int4ge
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR **>= (
 | |
| 	LEFTARG=_int4,
 | |
| 	RIGHTARG=int4,
 | |
| 	PROCEDURE=array_all_int4ge
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR *< (
 | |
| 	LEFTARG=_int4,
 | |
| 	RIGHTARG=int4,
 | |
| 	PROCEDURE=array_int4lt
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR **< (
 | |
| 	LEFTARG=_int4,
 | |
| 	RIGHTARG=int4,
 | |
| 	PROCEDURE=array_all_int4lt
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR *<= (
 | |
| 	LEFTARG=_int4,
 | |
| 	RIGHTARG=int4,
 | |
| 	PROCEDURE=array_int4le
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR **<= (
 | |
| 	LEFTARG=_int4,
 | |
| 	RIGHTARG=int4,
 | |
| 	PROCEDURE=array_all_int4le
 | |
| );
 | |
| 
 | |
| -- define the array operators *=, **<>  for type _oid  (added tobias 1. 1999)
 | |
| --
 | |
| CREATE OR REPLACE FUNCTION array_oideq(_oid, oid)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_all_oidne(_oid, oid)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME' 
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OPERATOR *= (
 | |
| 	LEFTARG=_oid, 
 | |
| 	RIGHTARG=oid, 
 | |
| 	PROCEDURE=array_oideq
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR **<> (
 | |
| 	LEFTARG=_oid,
 | |
| 	RIGHTARG=oid,
 | |
| 	PROCEDURE=array_all_oidne
 | |
| );
 | |
| 
 | |
| -- define the array operators *=, **=, *<>, **<> for type _inet
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_ineteq(_inet, inet)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME'
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_all_ineteq(_inet, inet)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME'
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_inetne(_inet, inet)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME'
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OR REPLACE FUNCTION array_all_inetne(_inet, inet)
 | |
| RETURNS bool
 | |
| AS 'MODULE_PATHNAME'
 | |
| LANGUAGE 'C' WITH (isStrict);
 | |
| 
 | |
| CREATE OPERATOR *= (
 | |
| 	LEFTARG=_inet,
 | |
| 	RIGHTARG=inet,
 | |
| 	PROCEDURE=array_ineteq
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR **= (
 | |
| 	LEFTARG=_inet,
 | |
| 	RIGHTARG=inet,
 | |
| 	PROCEDURE=array_all_ineteq
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR *<> (
 | |
| 	LEFTARG=_inet,
 | |
| 	RIGHTARG=inet,
 | |
| 	PROCEDURE=array_inetne
 | |
| );
 | |
| 
 | |
| CREATE OPERATOR **<> (
 | |
| 	LEFTARG=_inet,
 | |
| 	RIGHTARG=inet,
 | |
| 	PROCEDURE=array_all_inetne
 | |
| );
 |