/
telnov.ob
/
postgresql-patterns-library
Обзор
Документация
Войти
/
telnov.ob
/
postgresql-patterns-library
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
functions/encode/codepoints_gap_increase.sql
28 строк
924 B
rin-nas
language sql BEGIN ATOMIC
14 апр 2026, 16:15
14 апр 2026, 16:15
acbbc15
Код
Авторство
О чём код?
create or replace function public.codepoints_gap_increase(a int[]) returns int[] immutable strict -- returns null if any parameter is null parallel safe security invoker language sql set search_path = '' begin atomic select array( select case when u.e > a[1] then u.e + a[2] - 1 else u.e end from unnest(a[3:]) as u(e) ); end; comment on function public.codepoints_gap_increase(a int[]) is 'Функция, обратная к codepoints_gap_decrease(a int[])'; -- TEST do $$ begin assert public.codepoints_gap_increase('{36,69,37,44,47,47,41,36,44,37,37,47,37}') = '{105,112,115,115,109,36,112,105,105,115,105}'; assert public.codepoints_gap_increase('{1,1,2,1}') = '{2,1}'; assert public.codepoints_gap_increase('{1,1,1}') = '{1}'; assert public.codepoints_gap_increase('{}') = '{}'; end; $$;