powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Лживое срабатывание парсера на невинный курсор с exists(select ... from ... ORDER BY ...)
2 сообщений из 2, страница 1 из 1
Лживое срабатывание парсера на невинный курсор с exists(select ... from ... ORDER BY ...)
    #38751593
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот есть такая дурацкая процедурка:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
create or alter procedure p
as
declare c cursor for (
        select 1 id from rdb$database
        where
            not exists(
                select * from rdb$database r
                where r.rdb$relation_id=1
                 order by r.rdb$relation_id 
            )
        rows 1
    );
begin
   open c;
   close c;
end

Она спокойно компилится в Script Executive.
Но:
1) если в Options / Object Editor Options / Procedures изначально был установлен Lazy Mode, то при открытии её в редакторе и получаем бредятину (пустой код);
2) если запретить Lazy Mode и заново скормить эту ХП в Script Executive, а затем открыть в редакторе и попытаться откомпилировать, то получаем 'Parsing error', хотя дальше компиляция прокатывает Ок.

Поправить бы консерваторию ?

ЗЫ. Только не надо мну пытать, зачем я добавлял order by в not exists: так надо ! :-)
...
Рейтинг: 0 / 0
Лживое срабатывание парсера на невинный курсор с exists(select ... from ... ORDER BY ...)
    #38753701
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исправил
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Лживое срабатывание парсера на невинный курсор с exists(select ... from ... ORDER BY ...)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]