📄 ltree.sql
字号:
-- Adjust this setting to control where the objects get created.SET search_path = public;CREATE FUNCTION ltree_in(cstring)RETURNS ltreeAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT;CREATE FUNCTION ltree_out(ltree)RETURNS cstringAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT;CREATE TYPE ltree ( INTERNALLENGTH = -1, INPUT = ltree_in, OUTPUT = ltree_out, STORAGE = extended);--Compare function for ltreeCREATE FUNCTION ltree_cmp(ltree,ltree)RETURNS int4AS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION ltree_lt(ltree,ltree)RETURNS boolAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION ltree_le(ltree,ltree)RETURNS boolAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION ltree_eq(ltree,ltree)RETURNS boolAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION ltree_ge(ltree,ltree)RETURNS boolAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION ltree_gt(ltree,ltree)RETURNS boolAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION ltree_ne(ltree,ltree)RETURNS boolAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE OPERATOR < ( LEFTARG = ltree, RIGHTARG = ltree, PROCEDURE = ltree_lt, COMMUTATOR = '>', NEGATOR = '>=', RESTRICT = contsel, JOIN = contjoinsel);CREATE OPERATOR <= ( LEFTARG = ltree, RIGHTARG = ltree, PROCEDURE = ltree_le, COMMUTATOR = '>=', NEGATOR = '>', RESTRICT = contsel, JOIN = contjoinsel);CREATE OPERATOR >= ( LEFTARG = ltree, RIGHTARG = ltree, PROCEDURE = ltree_ge, COMMUTATOR = '<=', NEGATOR = '<', RESTRICT = contsel, JOIN = contjoinsel);CREATE OPERATOR > ( LEFTARG = ltree, RIGHTARG = ltree, PROCEDURE = ltree_gt, COMMUTATOR = '<', NEGATOR = '<=', RESTRICT = contsel, JOIN = contjoinsel);CREATE OPERATOR = ( LEFTARG = ltree, RIGHTARG = ltree, PROCEDURE = ltree_eq, COMMUTATOR = '=', NEGATOR = '<>', RESTRICT = eqsel, JOIN = eqjoinsel, SORT1 = '<', SORT2 = '<');CREATE OPERATOR <> ( LEFTARG = ltree, RIGHTARG = ltree, PROCEDURE = ltree_ne, COMMUTATOR = '<>', NEGATOR = '=', RESTRICT = neqsel, JOIN = neqjoinsel);--util functionsCREATE FUNCTION subltree(ltree,int4,int4)RETURNS ltreeAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION subpath(ltree,int4,int4)RETURNS ltreeAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION subpath(ltree,int4)RETURNS ltreeAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION index(ltree,ltree)RETURNS int4AS '$libdir/ltree', 'ltree_index'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION index(ltree,ltree,int4)RETURNS int4AS '$libdir/ltree', 'ltree_index'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION nlevel(ltree)RETURNS int4AS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION ltree2text(ltree)RETURNS textAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION text2ltree(text)RETURNS ltreeAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION lca(_ltree)RETURNS ltreeAS '$libdir/ltree','_lca'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION lca(ltree,ltree)RETURNS ltreeAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION lca(ltree,ltree,ltree)RETURNS ltreeAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION lca(ltree,ltree,ltree,ltree)RETURNS ltreeAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION lca(ltree,ltree,ltree,ltree,ltree)RETURNS ltreeAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION lca(ltree,ltree,ltree,ltree,ltree,ltree)RETURNS ltreeAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION lca(ltree,ltree,ltree,ltree,ltree,ltree,ltree)RETURNS ltreeAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION lca(ltree,ltree,ltree,ltree,ltree,ltree,ltree,ltree)RETURNS ltreeAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION ltree_isparent(ltree,ltree)RETURNS boolAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION ltree_risparent(ltree,ltree)RETURNS boolAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION ltree_addltree(ltree,ltree)RETURNS ltreeAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION ltree_addtext(ltree,text)RETURNS ltreeAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION ltree_textadd(text,ltree)RETURNS ltreeAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION ltreeparentsel(internal, oid, internal, integer)RETURNS float8AS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE OPERATOR @> ( LEFTARG = ltree, RIGHTARG = ltree, PROCEDURE = ltree_isparent, COMMUTATOR = '<@', RESTRICT = ltreeparentsel, JOIN = contjoinsel);CREATE OPERATOR ^@> ( LEFTARG = ltree, RIGHTARG = ltree, PROCEDURE = ltree_isparent, COMMUTATOR = '^<@', RESTRICT = contsel, JOIN = contjoinsel);CREATE OPERATOR <@ ( LEFTARG = ltree, RIGHTARG = ltree, PROCEDURE = ltree_risparent, COMMUTATOR = '@>', RESTRICT = ltreeparentsel, JOIN = contjoinsel);CREATE OPERATOR ^<@ ( LEFTARG = ltree, RIGHTARG = ltree, PROCEDURE = ltree_risparent, COMMUTATOR = '^@>', RESTRICT = contsel, JOIN = contjoinsel);CREATE OPERATOR || ( LEFTARG = ltree, RIGHTARG = ltree, PROCEDURE = ltree_addltree);CREATE OPERATOR || ( LEFTARG = ltree, RIGHTARG = text, PROCEDURE = ltree_addtext);CREATE OPERATOR || ( LEFTARG = text, RIGHTARG = ltree, PROCEDURE = ltree_textadd);-- B-tree supportCREATE OPERATOR CLASS ltree_ops DEFAULT FOR TYPE ltree USING btree AS OPERATOR 1 < , OPERATOR 2 <= , OPERATOR 3 = , OPERATOR 4 >= , OPERATOR 5 > , FUNCTION 1 ltree_cmp(ltree, ltree);--lquery typeCREATE FUNCTION lquery_in(cstring)RETURNS lqueryAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT;CREATE FUNCTION lquery_out(lquery)RETURNS cstringAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT;CREATE TYPE lquery ( INTERNALLENGTH = -1, INPUT = lquery_in, OUTPUT = lquery_out, STORAGE = extended);CREATE FUNCTION ltq_regex(ltree,lquery)RETURNS boolAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION ltq_rregex(lquery,ltree)RETURNS boolAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE OPERATOR ~ ( LEFTARG = ltree, RIGHTARG = lquery, PROCEDURE = ltq_regex, COMMUTATOR = '~', RESTRICT = contsel, JOIN = contjoinsel);CREATE OPERATOR ~ ( LEFTARG = lquery, RIGHTARG = ltree, PROCEDURE = ltq_rregex, COMMUTATOR = '~', RESTRICT = contsel, JOIN = contjoinsel);--not-indexedCREATE OPERATOR ^~ ( LEFTARG = ltree, RIGHTARG = lquery, PROCEDURE = ltq_regex, COMMUTATOR = '^~', RESTRICT = contsel, JOIN = contjoinsel);CREATE OPERATOR ^~ ( LEFTARG = lquery, RIGHTARG = ltree, PROCEDURE = ltq_rregex, COMMUTATOR = '^~', RESTRICT = contsel, JOIN = contjoinsel);CREATE FUNCTION lt_q_regex(ltree,_lquery)RETURNS boolAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION lt_q_rregex(_lquery,ltree)RETURNS boolAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE OPERATOR ? ( LEFTARG = ltree, RIGHTARG = _lquery, PROCEDURE = lt_q_regex, COMMUTATOR = '?', RESTRICT = contsel, JOIN = contjoinsel);CREATE OPERATOR ? ( LEFTARG = _lquery, RIGHTARG = ltree, PROCEDURE = lt_q_rregex, COMMUTATOR = '?', RESTRICT = contsel, JOIN = contjoinsel);--not-indexedCREATE OPERATOR ^? ( LEFTARG = ltree, RIGHTARG = _lquery, PROCEDURE = lt_q_regex, COMMUTATOR = '^?', RESTRICT = contsel, JOIN = contjoinsel);CREATE OPERATOR ^? ( LEFTARG = _lquery, RIGHTARG = ltree, PROCEDURE = lt_q_rregex, COMMUTATOR = '^?', RESTRICT = contsel, JOIN = contjoinsel);CREATE FUNCTION ltxtq_in(cstring)RETURNS ltxtqueryAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT;CREATE FUNCTION ltxtq_out(ltxtquery)RETURNS cstringAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT;CREATE TYPE ltxtquery ( INTERNALLENGTH = -1, INPUT = ltxtq_in, OUTPUT = ltxtq_out, STORAGE = extended);-- operations WITH ltxtqueryCREATE FUNCTION ltxtq_exec(ltree, ltxtquery)RETURNS boolAS '$libdir/ltree'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION ltxtq_rexec(ltxtquery, ltree)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -