ЦИТК-979 - Редактор запросов - Контроль имени аргументов: только латинские буквы, цифры и подчеркивание, начало только с буквы, принудительный APPERCASE, контроль уникальности
This commit is contained in:
parent
63e3d3833e
commit
64145d7ac0
@ -473,6 +473,10 @@ create or replace package body PKG_P8PANELS_QE_BASE as
|
|||||||
P_EXCEPTION(0,
|
P_EXCEPTION(0,
|
||||||
'Имя аргумента содержит недопустимые символы (разрешены латинские буквы, цифры и символ нижнего подчеркивания).');
|
'Имя аргумента содержит недопустимые символы (разрешены латинские буквы, цифры и символ нижнего подчеркивания).');
|
||||||
end loop;
|
end loop;
|
||||||
|
for C in (select null from DUAL where not REGEXP_LIKE(SUBSTR(SNAME, 1, 1), '^[A-z]+$'))
|
||||||
|
loop
|
||||||
|
P_EXCEPTION(0, 'Имя аргумента должно начинаться с буквы.');
|
||||||
|
end loop;
|
||||||
if (UPPER(SNAME) in (UPPER(SARG_NAME_PAGE), UPPER(SARG_NAME_PAGE_SIZE))) then
|
if (UPPER(SNAME) in (UPPER(SARG_NAME_PAGE), UPPER(SARG_NAME_PAGE_SIZE))) then
|
||||||
P_EXCEPTION(0, 'Это имя аргумента зарезервировано Системой.');
|
P_EXCEPTION(0, 'Это имя аргумента зарезервировано Системой.');
|
||||||
end if;
|
end if;
|
||||||
@ -580,7 +584,7 @@ create or replace package body PKG_P8PANELS_QE_BASE as
|
|||||||
loop
|
loop
|
||||||
begin
|
begin
|
||||||
/* Возвращаем найденный индекс */
|
/* Возвращаем найденный индекс */
|
||||||
if (RARGS(I).SNAME = SNAME) then
|
if (UPPER(RARGS(I).SNAME) = UPPER(SNAME)) then
|
||||||
return I;
|
return I;
|
||||||
end if;
|
end if;
|
||||||
exception
|
exception
|
||||||
@ -612,7 +616,7 @@ create or replace package body PKG_P8PANELS_QE_BASE as
|
|||||||
end if;
|
end if;
|
||||||
/* Проверим уникальность имени */
|
/* Проверим уникальность имени */
|
||||||
if ((SNAME is not null) and (TARGS_INDEX_BY_NAME(RARGS => RARGS, SNAME => SNAME) is not null)) then
|
if ((SNAME is not null) and (TARGS_INDEX_BY_NAME(RARGS => RARGS, SNAME => SNAME) is not null)) then
|
||||||
P_EXCEPTION(0, 'Аргумент с именем "%s" уже существует.', SNAME);
|
P_EXCEPTION(0, 'Аргумент с именем "%s" уже существует.', UPPER(SNAME));
|
||||||
end if;
|
end if;
|
||||||
/* Формируем аргумент */
|
/* Формируем аргумент */
|
||||||
RARG := TARG_MAKE(SNAME => SNAME,
|
RARG := TARG_MAKE(SNAME => SNAME,
|
||||||
@ -2958,12 +2962,6 @@ create or replace package body PKG_P8PANELS_QE_BASE as
|
|||||||
end if;
|
end if;
|
||||||
end BUILD_WHERE;
|
end BUILD_WHERE;
|
||||||
begin
|
begin
|
||||||
/*
|
|
||||||
TODO: owner="root" created="13.10.2025"
|
|
||||||
text="Контроль имен аргументов запроса: только латинские и фифры и подчеркивание, начинать только с буквы.
|
|
||||||
Принудительный APPERCASE
|
|
||||||
Контроль уникальности имени аргумента"
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
TODO: owner="root" created="10.09.2025"
|
TODO: owner="root" created="10.09.2025"
|
||||||
text="Предусмотреть отладочные значения для аргументов запроса"
|
text="Предусмотреть отладочные значения для аргументов запроса"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user