Гость
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Компарер + parsing error / 5 сообщений из 5, страница 1 из 1
21.11.2016, 18:57
    #39351388
Шавлюк Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компарер + parsing error
Есть такая процедура
Код: sql
1.
2.
3.
4.
5.
6.
7.
create or alter procedure test_proc (
    p varchar(100))
AS
begin
  exit;
  execute procedure test_proc (:p) || 'text';
end


Если БД состоит только из нее и сравнивать БД саму с собой то в логе сравнения будет ошибка
автор==== Error ==== : Procedure TEST_PROC: Missing: <;> (<||>)
Script: Line:3 Pos:39

Если компилировать эту процедуру, то получаю "parsing error"

Подобная конструкция получилась случайно, не знал что процедуры можно вызывать без скобок
...
Рейтинг: 0 / 0
21.11.2016, 20:51
    #39351471
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компарер + parsing error
Шавлюк ЕвгенийПодобная конструкция получилась случайно, не знал что процедуры можно вызывать без скобок

можно, но лучше так не делать
...
Рейтинг: 0 / 0
22.11.2016, 08:19
    #39351568
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компарер + parsing error
Тоже впервые узнал, что execute procedure может быть операндом...
...
Рейтинг: 0 / 0
22.11.2016, 10:04
    #39351617
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компарер + parsing error
IBExpert,

там немного по другому. Все что после имени процедуры воспринимается как аргументы до RETURNING_VALUES или ;. Скобки игнорируются вовсе, но для читаемости их можно записать.

З.Ы. Я бы на месте разработчиков FB запретил конструкцию без скобок вообще, но это нарушит обратную совместимость. Зато в будущем позволит избежать глупых ошибок.
...
Рейтинг: 0 / 0
22.11.2016, 12:20
    #39351745
Шавлюк Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компарер + parsing error
Симонов ДенисЗ.Ы. Я бы на месте разработчиков FB запретил конструкцию без скобок вообще, но это нарушит обратную совместимость. Зато в будущем позволит избежать глупых ошибок.
Согласен. Это и была ошибка подобного рода. Был один параметр в процедуре, к параметру присоединил другую строку, и напутал со скобками.
...
Рейтинг: 0 / 0
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Компарер + parsing error / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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