Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / IBExpert |
![]() ![]() |
slay2012 Member Откуда: Сообщений: 75 |
При сравнении баз в логе есть вот такое:
Такая ошибка когда в запросе к селективной процедуре из этого же пакета указано имя пакета for select ... from EduPlan.ProcedureName(...) Если убрать EduPlan, то ругани нет. При компиляции пакета ошибок нет. |
13 сен 18, 14:53 [21673668] Ответить | Цитировать Сообщить модератору |
slay2012 Member Откуда: Сообщений: 75 |
Похоже что я поспешил с выводом
Ошибка есть даже в случае если процедура из другого пакета. В логе только первая ошибка, все дальнейшие даже в других пакетах уже не показываются... Тогда еще вопрос - если в логах есть ошибки, то все ли различия в базах будут найдены или только то что до ошибки? |
||
13 сен 18, 15:02 [21673688] Ответить | Цитировать Сообщить модератору |
IBExpert Member Откуда: От верблюда Сообщений: 3346 |
Различия-то будут найдены, а вот скрипт не факт что корректным будет. Парсер зависимости ищет, а если он обломался, то какие-то зависимости могут быть не обнаружены. |
||
13 сен 18, 16:04 [21673826] Ответить | Цитировать Сообщить модератору |
IBExpert Member Откуда: От верблюда Сообщений: 3346 |
Что-то у меня не воспроизводится проблема. Вот на таком пакете парсер не ругается:
|
|
13 сен 18, 16:11 [21673837] Ответить | Цитировать Сообщить модератору |
slay2012 Member Откуда: Сообщений: 75 |
Параметры еще нужны
|
|
13 сен 18, 17:04 [21673935] Ответить | Цитировать Сообщить модератору |
slay2012 Member Откуда: Сообщений: 75 |
Дублирую сюда... Я так понял, что исправлено, потому как начало ругаться на отсутствие into (используется as cursor)
for select ... from ... as cursor cur do ... |
14 сен 18, 10:04 [21674402] Ответить | Цитировать Сообщить модератору |
Симонов Денис Member Откуда: Рязань Сообщений: 10733 |
slay2012, вообще-то в 3.0 если есть as cursor cur, то into можно и не использовать |
14 сен 18, 13:55 [21674716] Ответить | Цитировать Сообщить модератору |
slay2012 Member Откуда: Сообщений: 75 |
Я в курсе, а вот парсер эксперта похоже что нет :) |
||
14 сен 18, 16:00 [21674877] Ответить | Цитировать Сообщить модератору |
slay2012 Member Откуда: Сообщений: 75 |
Есть надежда, что это пофиксится? |
||
29 окт 18, 15:16 [21718089] Ответить | Цитировать Сообщить модератору |
IBExpert Member Откуда: От верблюда Сообщений: 3346 |
По "примеру" с тремя многоточиями? Вряд ли. |
||
30 окт 18, 05:31 [21718523] Ответить | Цитировать Сообщить модератору |
slay2012 Member Откуда: Сообщений: 75 |
Пример с многоточиями действительно не корректный... Вот: SET TERM ^ ; CREATE OR ALTER PACKAGE TEST2 AS begin function TEST_CURSOR2 ( A integer, B integer) returns integer; end^ RECREATE PACKAGE BODY TEST2 AS begin function TEST_CURSOR2 ( A integer, B integer) returns integer AS declare variable r int; begin r = 0; for with res_a as ( select t.a from test_table t where t.id between :a and :b ) select a.a from res_a a as cursor c do begin r = r + c.a; end return r; end end ^ SET TERM ; ^ Получаем: Parsing database object definitions... |
30 окт 18, 09:39 [21718590] Ответить | Цитировать Сообщить модератору |
IBExpert Member Откуда: От верблюда Сообщений: 3346 |
Исправил. |
31 окт 18, 08:38 [21719792] Ответить | Цитировать Сообщить модератору |
slay2012 Member Откуда: Сообщений: 75 |
Спасибо! Заводить новую тему не буду, продолжим тут: CREATE TABLE TEST_TM ( ID INTEGER GENERATED BY DEFAULT AS IDENTITY, ATTR INTEGER, OBJ INTEGER, V INTEGER ); create procedure test_merge ( attr_id int, obj_id int, v int ) returns ( id int) as begin merge into test_tm t using ( select :attr_id as a, :obj_id as o, nullif(:v, 0) as v from rdb$database ) s on t.attr = s.a and t.obj = s.o when not matched and s.v is not null then insert (attr, obj, v) values (s.a, s.o, s.v) when matched and s.v is null then delete when matched and s.v <> t.v then update set t.v = s.v returning new.id into :id; end
|
||
31 окт 18, 10:06 [21719888] Ответить | Цитировать Сообщить модератору |
IBExpert Member Откуда: От верблюда Сообщений: 3346 |
Исправил. |
||
1 ноя 18, 04:05 [21720999] Ответить | Цитировать Сообщить модератору |
slay2012 Member Откуда: Сообщений: 75 |
Спасибо! А можно еще обновить IBEScript.exe? |
||
1 ноя 18, 09:19 [21721078] Ответить | Цитировать Сообщить модератору |
IBExpert Member Откуда: От верблюда Сообщений: 3346 |
Обновил. |
||
1 ноя 18, 10:05 [21721132] Ответить | Цитировать Сообщить модератору |
Все форумы / IBExpert | ![]() |