Форум: "Базы";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
ВнизИнвалидность объектов в Firebird Найти похожие ветки
← →
}|{yk © (2004-11-11 17:08) [0]Никто не знает, собираются ли разработчики добавить сию фичу во втором релизе? Очень бы удобно, а то получаешь ошибку только в run-time, если в делаешь в процедуре выборку из процедуры, а потом в процедуре удаляешь некоторые параметры. Получаешь ошибку в BLR.
← →
Johnmen © (2004-11-11 22:21) [1]>а потом в процедуре удаляешь некоторые параметры.
Хм... Это о чём ?
← →
Digitman © (2004-11-12 09:34) [2]
> Johnmen © (11.11.04 22:21) [1]
наверно, имеется ввиду ISQL-скрипты - первый создает ХП2 (в теле которой есть запрос на выборку из ХП1), второй модифицирует ХП2.
якобы модификация выполняется успешно, но при попытке последующего обращения к модифицированной ХП2 из DSQL-запроса возникает исключение с жалобой сервера на галиматью в BLR-коде ХП2 .. я так понял это ..
← →
Johnmen © (2004-11-12 11:12) [3]>Digitman © (12.11.04 09:34) [2]
Может быть... Хотя то, что ты описал, вполне законно.
И один момент. Я думаю, для полной "законности" ещё надо тр-ию подтвердить после модификации ХП2.
← →
}|{yk © (2004-11-12 11:25) [4]Да-да, правильно. То, что законно, это понятно. Однако в том же оракле при изменении, которое может вызвать подобные ошибки в других объектах - триггерах, вьюхах, процедурах - все такие обекты объявляются инвалидными.
← →
Johnmen © (2004-11-12 11:32) [5]Правильно ли я понял, что меняется вызов ХП1 (с т.з. состава параметров) из ХП2 в рамках модификации ХП2 ?
← →
}|{yk © (2004-11-12 12:08) [6]Да. В ХП2 я делаю выборку из ХП1. Потом меняю ХП1 и удаляю некоторые out параметры. Все нормально, но при вызове ХП2 получаю ошибку в BLR
← →
Johnmen © (2004-11-12 12:15) [7]Тогда это нормально. Т.к. ХП2 скомпилирована и получен BLR код, сориентированный на вызов ХП1 со старым составом параметров.
← →
}|{yk © (2004-11-12 12:17) [8]Это не нормально. В Oracle сразу видно, что эти объекты могут работать некорректно.
← →
Digitman © (2004-11-12 13:52) [9]
> }|{yk
ты случаем не фичу "EXECUTE STATEMENT" там юзаешь при запуске запроса к ХП1 из ХП2 ?
потому что в обычном (классическом) случае случае сервер , кажется, не должон позволить тебе выполнить модификацию ХП1, если новая ее версия противоречит установленным ссылочным зависимостям между ХП2 и ХП1
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.044 c