Обновление метаданных, wait и nowait транзакции
Добавлено: 13.06.2022 17:26:00
Всем доброго времени суток,
при работе с таблицами с большим количеством данных иногда возникает ситуация что после интенсивного изменения данных возникает необходимость таблицу удалить. Если транзакция nowait то firebird может вывалить (а может и не вывалить) ошибку lock конфликта при обновлении метаданных. Выход использовать wait транзакцию. Но не во всех фреймворках можно поменять тип транзакции (в данном случае у клиента рукописный свой фреймворк, лезть в который и что то менять себе дороже).
Вопрос, можно как то запросом выяснить что таблица уже освободилась и возможно обновление метаданных или её удаление. Сразу оговорюсь что сие происходит при миграции данных из одной версии в другую, поэтому конкурирующих соединений нет.
Спасибо.
при работе с таблицами с большим количеством данных иногда возникает ситуация что после интенсивного изменения данных возникает необходимость таблицу удалить. Если транзакция nowait то firebird может вывалить (а может и не вывалить) ошибку lock конфликта при обновлении метаданных. Выход использовать wait транзакцию. Но не во всех фреймворках можно поменять тип транзакции (в данном случае у клиента рукописный свой фреймворк, лезть в который и что то менять себе дороже).
Вопрос, можно как то запросом выяснить что таблица уже освободилась и возможно обновление метаданных или её удаление. Сразу оговорюсь что сие происходит при миграции данных из одной версии в другую, поэтому конкурирующих соединений нет.
Спасибо.