Есть у нас в платформе возможность загрузки прикладных решений и,
соответственно, создания метаданных. Во времена Yaffil корректно
создавать сложные структуры с зависимостями друг от друга можно было
только постоянно переподключаясь к базе данных (пресловутый object is
in use). Механизм наш так и работает, еще с тех времен. Начиная с
версии 2.1 мы столкнулись с тем, что скорость создания метаданных
упала. А при переходе у себя на CS это падение скорости помножилось на
время, необходимое на постоянные переподключения и, как следствие,
остановку/запуск процесса сервера. В итоге, загрузка одного
приложения, которая раньше длилась минут 45, теперь, на более мощном
компьютере может занимать до двух с половиной часов.

Хочется передалть механизм так, чтобы в процессе не требовались
переподключения к БД. И, может быть, даже чтобы все шло на одной
транзакции от и до.

А теперь вопрос знатокам:

В ФБ 2.5. известны ли какие-то проблемы, которые могут возникнуть,
если в рамках одного подключения и одной транзакции создавать
несколько сотен таблиц, ключей, тригеров, процедур, взаимно зависимых?

PS: спрашиваю потому что переделка механизма может занять не одну
человеко-неделю и не хочется в итоге вернуться на круги своя.

Ответить