diff --git a/migrations/000.342.sql b/migrations/000.342.sql new file mode 100644 index 0000000..2221d36 --- /dev/null +++ b/migrations/000.342.sql @@ -0,0 +1,24 @@ +-- Revert getsafexml + +CREATE OR REPLACE FUNCTION public.getsafexmlpath(val character varying, with_root integer DEFAULT 0) + RETURNS character varying + LANGUAGE plpgsql +AS $function$ +BEGIN + IF with_root = 1 THEN + val = regexp_replace(val, '^\w+', 'root'); + ELSIF with_root = 2 THEN + val = regexp_replace(val, '^\w+/', ''); + END IF; + + val = UNACCENT(val); + val = REGEXP_REPLACE(val, '[\., _]', '-', 'g'); + val = REPLACE(val, '&', '-'); /* ampersand should always be blank but it gets fixed in below */ + val = lower(val); + val = REGEXP_REPLACE(val, '-+', '-', 'g'); + val = REGEXP_REPLACE(val, '[^\/\w\-]', '', 'g'); + + RETURN val; + +END; $function$ +