Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

странное поведение interbase?


Девушка ©   (2007-06-09 13:00:00) 

InterBase 7.1
при внесении структурных изменений в рабочую базу данных:
изменение триггеров, хранимых процедур —
эти изменения почемуто не видны при работе с клинтской программы.

формулирую проблему.
1) Есть триггер, который на вставку записи в таблицу А вставляет запись в таблицу B.
2) Производится изменение триггера в БД (теперь в вставляем запись в таблицу С), которое полностью коммитится в IBExpert.
3) Выходим из IBExpert
4) Запускается клиент, который цепляется к базе.
5) Выполняется действие, которе вызывает измененный триггер.
6) Видим, что добавилась запись в таблицу B.
7) Еще раз запускаем IBExpert и убеждаемся, что в тексте триггера написано добавить в таблицу С
8) Перезапускаем клиент, видим, что добавляется в таблицу B
9) Идем пить чай.... долго думаем... возвращаемся, перезапускаем клиент видим, что добавляется в таблицу С


Desdechado   (2007-06-10 16:55:00) [1]

Метаданные кэшируются. Вот только для архитектур Classic и Super, насколько я помню, по-разному.
У классика кэш на каждой подключение, т.к. они независимы.
У супера кэш один на пул подключений к одной БД. Насчет перезапуска сервера не уверен, обычно достаточно отключиться от конкретной БДвсем клиентским подключениям.


Sergey Masloff   (2007-06-10 11:39:00) [2]

Это документированное поведение. Или отключение всех клиентов или рестарт сервера (что, вобщем-то, одно и то же)


atruhin   (2007-06-09 17:21:00) [3]

> На сервере.
> Его и рестартовать следует.

Да, или отключить всех клиентов. При это сервер закрывает файл БД ...


Сергей М.   (2007-06-09 15:01:00) [4]


> Девушка ©   (09.06.07 14:24) [5]


На сервере.
Его и рестартовать следует.


Девушка   (2007-06-09 14:24:00) [5]

где кешируются? на клиенте или сервере?
разные клиенты видят разные метаданные. Метаданные закомитчены и переподключение было сделано.

можно ли ктокто принудительно очищать кеш?


Сергей М.   (2007-06-09 14:14:00) [6]


> Девушка ©   (09.06.07 13:58) [2]


см. [3] - кэшированием здесь пахнет


Sergey13   (2007-06-09 14:03:00) [7]

Помнится в ФБ (за ИБ7 не скажу, но наверное тоже самое) метаданные кэшируются. Поэтому желательно перезапускать сервер для применения изменений.


Девушка   (2007-06-09 13:58:00) [8]

Клиент - имеется ввиду клиентская программа, написанная на Delphi 7 :)


Сергей М.   (2007-06-09 13:20:00) [9]


> Девушка ©   (09.06.07 13:00)


> Запускается клиент


IBExpert - точно такой же "клиент", как и любой иной ?

Говоря о


> Запускается клиент,


ты о чем при этом ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо