04.01.2011 11:40, Nikolay Ponomarenko пишет:

Встретился сегодня странный баг, на 2.1.3 EmbedWin2003

Добавил в скрипт создания базы очередной индекс(вида COMPUTED BY
(IIF(ID_MORION=0, NULL, ID_MORION))) и сборка отваливается с ниже
приведенной ошибкой.
Комментирование этого добавленного(или предыдущего индекса ситуацию
исправляет)
Добавление коммита - не помогает. Сборка идет через isql.

Перенос его в другое место(подальше от однотипных) проблему решает :-/

Особенности:
- создание кучи однотипных индексов по выражению подряд
- большое кол-во изменений метаданных во время сборки
базы(последовательно нактываются скрипты 19 версий базы - т.е. и дроп, и
альтеры и т.п.)

Это что-то известное? Вроде с таким текстом баги к другому относятся?

Недавно исправлялось. В трекер не попало, т.к. по сути повторяет CORE-3256, только в другом месте кода. В данном случае оно не дает создать более 128 индексов по выражению без переподключения к серверу.

Смысл в том, что системный запрос к метаданным не освобождается как положено, в результате каждое обращение его клонирует и в конечном итоге срабатывает лимит на рекурсию (ибо клонирование запроса при активном родителе - это как раз штатное рекурсивное выполнение процедуры/триггера).


--
Дмитрий Еманов

Ответить