|
Принудительная комипляция метаданных
|
|||
---|---|---|---|
#18+
Господа, есть ли возможность принудительной компиляции процедуры? Простой пример: CREATE PROCEDURE p1 AS BEGIN EXIT; END; CREATE PROCEDURE p2 AS BEGIN EXIT; END; ALTER PROCEDURE p1 AS BEGIN EXECUTE PROCEDURE p2; END; ALTER PROCEDURE p2 AS BEGIN ... END; В данном случае вызов процедуры p1 работает неправильно, т.к. в момент компиляции p1 тело p2 было пустым. Что бы процедура p1 работала правильно (вызывала последнюю версию p2) надо либо сделать Backup restore либо еще раз сделать ALTER PROCEDURE p1 AS BEGIN EXECUTE PROCEDURE p2; END; Кто как борется с даной проблеммой? Есть ли возможность сделать перекомпиляцию всем процедурам базы? (не отключая пользователей) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2002, 10:40 |
|
Принудительная комипляция метаданных
|
|||
---|---|---|---|
#18+
Привет! Коммиты надо после create/alter вставить - должно помочь. Но без дисконнекта никак не обойтись, особенно при ALTER - сорцы (или BLR) процедур кэшируются в метаданных, которые сбрасываются только при дисконнекте всех пользователей. То есть комит и дисконнект - это и есть типа принудительная компиляция :) С уважением, Алексей. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2002, 11:59 |
|
|
start [/forum/topic.php?fid=40&tid=1581201]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
72ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 170ms |
0 / 0 |