⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _int.sql

📁 PostgreSQL 8.2中增加了很多企业用户所需要的功能和性能上的提高,其开发团队说,该版本将加速更多企业向该数据库移植.核心开发成员之一Bruce Momjian表示,在新版PostgreSQL
💻 SQL
字号:
---- Create the user-defined type for the 1-D integer arrays (_int4)---- Adjust this setting to control where the operators, functions, and-- opclasses get created.SET search_path = public;BEGIN;-- Query typeCREATE FUNCTION bqarr_in(cstring)RETURNS query_intAS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION bqarr_out(query_int)RETURNS cstringAS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE TYPE query_int (	INTERNALLENGTH = -1,	INPUT = bqarr_in,	OUTPUT = bqarr_out);--only for debugCREATE FUNCTION querytree(query_int)RETURNS textAS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION boolop(_int4, query_int)RETURNS boolAS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;COMMENT ON FUNCTION boolop(_int4, query_int) IS 'boolean operation with array';CREATE FUNCTION rboolop(query_int, _int4)RETURNS boolAS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;COMMENT ON FUNCTION rboolop(query_int, _int4) IS 'boolean operation with array';CREATE OPERATOR @@ (	LEFTARG = _int4,	RIGHTARG = query_int,	PROCEDURE = boolop,	COMMUTATOR = '~~',	RESTRICT = contsel,	JOIN = contjoinsel);CREATE OPERATOR ~~ (	LEFTARG = query_int,	RIGHTARG = _int4,	PROCEDURE = rboolop,	COMMUTATOR = '@@',	RESTRICT = contsel,	JOIN = contjoinsel);---- External C-functions for R-tree methods---- Comparison methodsCREATE FUNCTION _int_contains(_int4, _int4)RETURNS boolAS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;COMMENT ON FUNCTION _int_contains(_int4, _int4) IS 'contains';CREATE FUNCTION _int_contained(_int4, _int4)RETURNS boolAS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;COMMENT ON FUNCTION _int_contained(_int4, _int4) IS 'contained in';CREATE FUNCTION _int_overlap(_int4, _int4)RETURNS boolAS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;COMMENT ON FUNCTION _int_overlap(_int4, _int4) IS 'overlaps';CREATE FUNCTION _int_same(_int4, _int4)RETURNS boolAS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;COMMENT ON FUNCTION _int_same(_int4, _int4) IS 'same as';CREATE FUNCTION _int_different(_int4, _int4)RETURNS boolAS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;COMMENT ON FUNCTION _int_different(_int4, _int4) IS 'different';-- support routines for indexingCREATE FUNCTION _int_union(_int4, _int4)RETURNS _int4AS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION _int_inter(_int4, _int4)RETURNS _int4AS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;---- OPERATORS--CREATE OPERATOR && (	LEFTARG = _int4,	RIGHTARG = _int4,	PROCEDURE = _int_overlap,	COMMUTATOR = '&&',	RESTRICT = contsel,	JOIN = contjoinsel);--CREATE OPERATOR = (--	LEFTARG = _int4,--	RIGHTARG = _int4,--	PROCEDURE = _int_same,--	COMMUTATOR = '=',--	NEGATOR = '<>',--	RESTRICT = eqsel,--	JOIN = eqjoinsel,--	SORT1 = '<',--	SORT2 = '<'--);--CREATE OPERATOR <> (--	LEFTARG = _int4,--	RIGHTARG = _int4,--	PROCEDURE = _int_different,--	COMMUTATOR = '<>',--	NEGATOR = '=',--	RESTRICT = neqsel,--	JOIN = neqjoinsel--);CREATE OPERATOR @> (	LEFTARG = _int4,	RIGHTARG = _int4,	PROCEDURE = _int_contains,	COMMUTATOR = '<@',	RESTRICT = contsel,	JOIN = contjoinsel);CREATE OPERATOR <@ (	LEFTARG = _int4,	RIGHTARG = _int4,	PROCEDURE = _int_contained,	COMMUTATOR = '@>',	RESTRICT = contsel,	JOIN = contjoinsel);-- obsolete:CREATE OPERATOR @ (	LEFTARG = _int4,	RIGHTARG = _int4,	PROCEDURE = _int_contains,	COMMUTATOR = '~',	RESTRICT = contsel,	JOIN = contjoinsel);CREATE OPERATOR ~ (	LEFTARG = _int4,	RIGHTARG = _int4,	PROCEDURE = _int_contained,	COMMUTATOR = '@',	RESTRICT = contsel,	JOIN = contjoinsel);--------------CREATE FUNCTION intset(int4)RETURNS _int4AS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION icount(_int4)RETURNS int4AS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE OPERATOR # (	RIGHTARG = _int4,	PROCEDURE = icount);CREATE FUNCTION sort(_int4, text)RETURNS _int4AS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION sort(_int4)RETURNS _int4AS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION sort_asc(_int4)RETURNS _int4AS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION sort_desc(_int4)RETURNS _int4AS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION uniq(_int4)RETURNS _int4AS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION idx(_int4, int4)RETURNS int4AS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE OPERATOR # (	LEFTARG = _int4,	RIGHTARG = int4,	PROCEDURE = idx);CREATE FUNCTION subarray(_int4, int4, int4)RETURNS _int4AS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION subarray(_int4, int4)RETURNS _int4AS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION intarray_push_elem(_int4, int4)RETURNS _int4AS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE OPERATOR + (	LEFTARG = _int4,	RIGHTARG = int4,	PROCEDURE = intarray_push_elem);CREATE FUNCTION intarray_push_array(_int4, _int4)RETURNS _int4AS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE OPERATOR + (	LEFTARG = _int4,	RIGHTARG = _int4,	COMMUTATOR = +,	PROCEDURE = intarray_push_array);CREATE FUNCTION intarray_del_elem(_int4, int4)RETURNS _int4AS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE OPERATOR - (	LEFTARG = _int4,	RIGHTARG = int4,	PROCEDURE = intarray_del_elem);CREATE FUNCTION intset_union_elem(_int4, int4)RETURNS _int4AS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE OPERATOR | (	LEFTARG = _int4,	RIGHTARG = int4,	PROCEDURE = intset_union_elem);CREATE OPERATOR | (	LEFTARG = _int4,	RIGHTARG = _int4,	COMMUTATOR = |,	PROCEDURE = _int_union);CREATE FUNCTION intset_subtract(_int4, _int4)RETURNS _int4AS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE OPERATOR - (	LEFTARG = _int4,	RIGHTARG = _int4,	PROCEDURE = intset_subtract);CREATE OPERATOR & (	LEFTARG = _int4,	RIGHTARG = _int4,	COMMUTATOR = &,	PROCEDURE = _int_inter);---------------- define the GiST support methodsCREATE FUNCTION g_int_consistent(internal,_int4,int4)RETURNS boolAS '$libdir/_int'LANGUAGE C;CREATE FUNCTION g_int_compress(internal)RETURNS internalAS '$libdir/_int'LANGUAGE C;CREATE FUNCTION g_int_decompress(internal)RETURNS internalAS '$libdir/_int'LANGUAGE C;CREATE FUNCTION g_int_penalty(internal,internal,internal)RETURNS internalAS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT;CREATE FUNCTION g_int_picksplit(internal, internal)RETURNS internalAS '$libdir/_int'LANGUAGE C;CREATE FUNCTION g_int_union(internal, internal)RETURNS _int4AS '$libdir/_int'LANGUAGE C;CREATE FUNCTION g_int_same(_int4, _int4, internal)RETURNS internalAS '$libdir/_int'LANGUAGE C;-- Create the operator class for indexingCREATE OPERATOR CLASS gist__int_opsDEFAULT FOR TYPE _int4 USING gist AS	OPERATOR	3	&&,	OPERATOR	6	= (anyarray, anyarray)	RECHECK,	OPERATOR	7	@>,	OPERATOR	8	<@,	OPERATOR	13	@,	OPERATOR	14	~,	OPERATOR	20	@@ (_int4, query_int),	FUNCTION	1	g_int_consistent (internal, _int4, int4),	FUNCTION	2	g_int_union (internal, internal),	FUNCTION	3	g_int_compress (internal),	FUNCTION	4	g_int_decompress (internal),	FUNCTION	5	g_int_penalty (internal, internal, internal),	FUNCTION	6	g_int_picksplit (internal, internal),	FUNCTION	7	g_int_same (_int4, _int4, internal);----------------------------------------------- intbig----------------------------------------------- define the GiST support methodsCREATE FUNCTION _intbig_in(cstring)RETURNS intbig_gkeyAS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION _intbig_out(intbig_gkey)RETURNS cstringAS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE TYPE intbig_gkey (        INTERNALLENGTH = -1,        INPUT = _intbig_in,        OUTPUT = _intbig_out);CREATE FUNCTION g_intbig_consistent(internal,internal,int4)RETURNS boolAS '$libdir/_int'LANGUAGE C;CREATE FUNCTION g_intbig_compress(internal)RETURNS internalAS '$libdir/_int'LANGUAGE C;CREATE FUNCTION g_intbig_decompress(internal)RETURNS internalAS '$libdir/_int'LANGUAGE C;CREATE FUNCTION g_intbig_penalty(internal,internal,internal)RETURNS internalAS '$libdir/_int'LANGUAGE C RETURNS NULL ON NULL INPUT;CREATE FUNCTION g_intbig_picksplit(internal, internal)RETURNS internalAS '$libdir/_int'LANGUAGE C;CREATE FUNCTION g_intbig_union(internal, internal)RETURNS _int4AS '$libdir/_int'LANGUAGE C;CREATE FUNCTION g_intbig_same(internal, internal, internal)RETURNS internalAS '$libdir/_int'LANGUAGE C;-- register the opclass for indexing (not as default)CREATE OPERATOR CLASS gist__intbig_opsFOR TYPE _int4 USING gistAS	OPERATOR	3	&&	RECHECK,	OPERATOR	6	= (anyarray, anyarray)	RECHECK,	OPERATOR	7	@>	RECHECK,	OPERATOR	8	<@	RECHECK,	OPERATOR	13	@	RECHECK,	OPERATOR	14	~	RECHECK,	OPERATOR	20	@@ (_int4, query_int)	RECHECK,	FUNCTION	1	g_intbig_consistent (internal, internal, int4),	FUNCTION	2	g_intbig_union (internal, internal),	FUNCTION	3	g_intbig_compress (internal),	FUNCTION	4	g_intbig_decompress (internal),	FUNCTION	5	g_intbig_penalty (internal, internal, internal),	FUNCTION	6	g_intbig_picksplit (internal, internal),	FUNCTION	7	g_intbig_same (internal, internal, internal),	STORAGE		intbig_gkey;--GINCREATE FUNCTION ginint4_queryextract(internal, internal, int2)RETURNS internalAS '$libdir/_int'LANGUAGE C;CREATE FUNCTION ginint4_consistent(internal, int2, internal)RETURNS internalAS '$libdir/_int'LANGUAGE C;CREATE OPERATOR CLASS gin__int_opsFOR TYPE _int4 USING ginAS	OPERATOR	3	&&,	OPERATOR	6	= (anyarray, anyarray)	RECHECK,	OPERATOR	7	@>,	OPERATOR	8	<@	RECHECK,	OPERATOR	13	@,	OPERATOR	14	~	RECHECK,	OPERATOR	20	@@ (_int4, query_int),	FUNCTION	1	btint4cmp (int4, int4),	FUNCTION	2	ginarrayextract (anyarray, internal),	FUNCTION	3	ginint4_queryextract (internal, internal, int2),	FUNCTION	4	ginint4_consistent (internal, int2, internal),	STORAGE		int4;COMMIT;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -