codekingpro/portable-devtools
114k
1/* contrib/ltree/ltree--1.0--1.1.sql */2 3-- complain if script is sourced in psql, rather than via ALTER EXTENSION4\echo Use "ALTER EXTENSION ltree UPDATE TO '1.1'" to load this file. \quit5 6-- Update procedure signatures the hard way.7-- We use to_regprocedure() so that query doesn't fail if run against 9.6beta1 definitions,8-- wherein the signatures have been updated already. In that case to_regprocedure() will9-- return NULL and no updates will happen.10DO LANGUAGE plpgsql11$$12DECLARE13 my_schema pg_catalog.text := pg_catalog.quote_ident(pg_catalog.current_schema());14 old_path pg_catalog.text := pg_catalog.current_setting('search_path');15BEGIN16-- for safety, transiently set search_path to just pg_catalog+pg_temp17PERFORM pg_catalog.set_config('search_path', 'pg_catalog, pg_temp', true);18 19UPDATE pg_catalog.pg_proc SET20 proargtypes = pg_catalog.array_to_string(newtypes::pg_catalog.oid[], ' ')::pg_catalog.oidvector,21 pronargs = pg_catalog.array_length(newtypes, 1)22FROM (VALUES23(NULL::pg_catalog.text, NULL::pg_catalog.text[]), -- establish column types24('ltree_consistent(internal,internal,int2,oid,internal)', '{internal,SCH.ltree,int2,oid,internal}'),25('ltree_same(internal,internal,internal)', '{SCH.ltree_gist,SCH.ltree_gist,internal}'),26('_ltree_consistent(internal,internal,int2,oid,internal)', '{internal,SCH._ltree,int2,oid,internal}'),27('_ltree_same(internal,internal,internal)', '{SCH.ltree_gist,SCH.ltree_gist,internal}')28) AS update_data (oldproc, newtypestext),29LATERAL (30 SELECT array_agg(replace(typ, 'SCH', my_schema)::regtype) as newtypes FROM unnest(newtypestext) typ31) ls32WHERE oid = to_regprocedure(my_schema || '.' || replace(oldproc, 'SCH', my_schema));33 34UPDATE pg_catalog.pg_proc SET35 prorettype = (my_schema || '.ltree_gist')::pg_catalog.regtype36WHERE oid = pg_catalog.to_regprocedure(my_schema || '.ltree_union(internal,internal)');37 38UPDATE pg_catalog.pg_proc SET39 prorettype = (my_schema || '.ltree_gist')::pg_catalog.regtype40WHERE oid = pg_catalog.to_regprocedure(my_schema || '._ltree_union(internal,internal)');41 42PERFORM pg_catalog.set_config('search_path', old_path, true);43END44$$;45 46ALTER FUNCTION ltree_in(cstring) PARALLEL SAFE;47ALTER FUNCTION ltree_out(ltree) PARALLEL SAFE;48ALTER FUNCTION ltree_cmp(ltree, ltree) PARALLEL SAFE;49ALTER FUNCTION ltree_lt(ltree, ltree) PARALLEL SAFE;50ALTER FUNCTION ltree_le(ltree, ltree) PARALLEL SAFE;51ALTER FUNCTION ltree_eq(ltree, ltree) PARALLEL SAFE;52ALTER FUNCTION ltree_ge(ltree, ltree) PARALLEL SAFE;53ALTER FUNCTION ltree_gt(ltree, ltree) PARALLEL SAFE;54ALTER FUNCTION ltree_ne(ltree, ltree) PARALLEL SAFE;55ALTER FUNCTION subltree(ltree, int4, int4) PARALLEL SAFE;56ALTER FUNCTION subpath(ltree, int4, int4) PARALLEL SAFE;57ALTER FUNCTION subpath(ltree, int4) PARALLEL SAFE;58ALTER FUNCTION index(ltree, ltree) PARALLEL SAFE;59ALTER FUNCTION index(ltree, ltree, int4) PARALLEL SAFE;60ALTER FUNCTION nlevel(ltree) PARALLEL SAFE;61ALTER FUNCTION ltree2text(ltree) PARALLEL SAFE;62ALTER FUNCTION text2ltree(text) PARALLEL SAFE;63ALTER FUNCTION lca(_ltree) PARALLEL SAFE;64ALTER FUNCTION lca(ltree, ltree) PARALLEL SAFE;65ALTER FUNCTION lca(ltree, ltree, ltree) PARALLEL SAFE;66ALTER FUNCTION lca(ltree, ltree, ltree, ltree) PARALLEL SAFE;67ALTER FUNCTION lca(ltree, ltree, ltree, ltree, ltree) PARALLEL SAFE;68ALTER FUNCTION lca(ltree, ltree, ltree, ltree, ltree, ltree) PARALLEL SAFE;69ALTER FUNCTION lca(ltree, ltree, ltree, ltree, ltree, ltree, ltree) PARALLEL SAFE;70ALTER FUNCTION lca(ltree, ltree, ltree, ltree, ltree, ltree, ltree, ltree) PARALLEL SAFE;71ALTER FUNCTION ltree_isparent(ltree, ltree) PARALLEL SAFE;72ALTER FUNCTION ltree_risparent(ltree, ltree) PARALLEL SAFE;73ALTER FUNCTION ltree_addltree(ltree, ltree) PARALLEL SAFE;74ALTER FUNCTION ltree_addtext(ltree, text) PARALLEL SAFE;75ALTER FUNCTION ltree_textadd(text, ltree) PARALLEL SAFE;76ALTER FUNCTION ltreeparentsel(internal, oid, internal, integer) PARALLEL SAFE;77ALTER FUNCTION lquery_in(cstring) PARALLEL SAFE;78ALTER FUNCTION lquery_out(lquery) PARALLEL SAFE;79ALTER FUNCTION ltq_regex(ltree, lquery) PARALLEL SAFE;80ALTER FUNCTION ltq_rregex(lquery, ltree) PARALLEL SAFE;81ALTER FUNCTION lt_q_regex(ltree, _lquery) PARALLEL SAFE;82ALTER FUNCTION lt_q_rregex(_lquery, ltree) PARALLEL SAFE;83ALTER FUNCTION ltxtq_in(cstring) PARALLEL SAFE;84ALTER FUNCTION ltxtq_out(ltxtquery) PARALLEL SAFE;85ALTER FUNCTION ltxtq_exec(ltree, ltxtquery) PARALLEL SAFE;86ALTER FUNCTION ltxtq_rexec(ltxtquery, ltree) PARALLEL SAFE;87ALTER FUNCTION ltree_gist_in(cstring) PARALLEL SAFE;88ALTER FUNCTION ltree_gist_out(ltree_gist) PARALLEL SAFE;89ALTER FUNCTION ltree_consistent(internal, ltree, int2, oid, internal) PARALLEL SAFE;90ALTER FUNCTION ltree_compress(internal) PARALLEL SAFE;91ALTER FUNCTION ltree_decompress(internal) PARALLEL SAFE;92ALTER FUNCTION ltree_penalty(internal, internal, internal) PARALLEL SAFE;93ALTER FUNCTION ltree_picksplit(internal, internal) PARALLEL SAFE;94ALTER FUNCTION ltree_union(internal, internal) PARALLEL SAFE;95ALTER FUNCTION ltree_same(ltree_gist, ltree_gist, internal) PARALLEL SAFE;96ALTER FUNCTION _ltree_isparent(_ltree, ltree) PARALLEL SAFE;97ALTER FUNCTION _ltree_r_isparent(ltree, _ltree) PARALLEL SAFE;98ALTER FUNCTION _ltree_risparent(_ltree, ltree) PARALLEL SAFE;99ALTER FUNCTION _ltree_r_risparent(ltree, _ltree) PARALLEL SAFE;100ALTER FUNCTION _ltq_regex(_ltree, lquery) PARALLEL SAFE;101ALTER FUNCTION _ltq_rregex(lquery, _ltree) PARALLEL SAFE;102ALTER FUNCTION _lt_q_regex(_ltree, _lquery) PARALLEL SAFE;103ALTER FUNCTION _lt_q_rregex(_lquery, _ltree) PARALLEL SAFE;104ALTER FUNCTION _ltxtq_exec(_ltree, ltxtquery) PARALLEL SAFE;105ALTER FUNCTION _ltxtq_rexec(ltxtquery, _ltree) PARALLEL SAFE;106ALTER FUNCTION _ltree_extract_isparent(_ltree, ltree) PARALLEL SAFE;107ALTER FUNCTION _ltree_extract_risparent(_ltree, ltree) PARALLEL SAFE;108ALTER FUNCTION _ltq_extract_regex(_ltree, lquery) PARALLEL SAFE;109ALTER FUNCTION _ltxtq_extract_exec(_ltree, ltxtquery) PARALLEL SAFE;110ALTER FUNCTION _ltree_consistent(internal, _ltree, int2, oid, internal) PARALLEL SAFE;111ALTER FUNCTION _ltree_compress(internal) PARALLEL SAFE;112ALTER FUNCTION _ltree_penalty(internal, internal, internal) PARALLEL SAFE;113ALTER FUNCTION _ltree_picksplit(internal, internal) PARALLEL SAFE;114ALTER FUNCTION _ltree_union(internal, internal) PARALLEL SAFE;115ALTER FUNCTION _ltree_same(ltree_gist, ltree_gist, internal) PARALLEL SAFE;116 