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