Обнаружил тут баг, приводящий к падению сервера. Может, конечно, он дано
известен, но всё-же скажу. Проявляется на FB 1.5.2 FB 1.5.3 (релиз) на 2.0
(включая снапшот от 25 числа).

Делаем следующее:

1. Выполняем select * from RDB$DATABASE for update
2. создаём кусор ну скажем cur1 для этого статемента
(isc_dsql_set_cursor_name)
3. препарируем запрос update RDB$DATABASE SET RDB$DESCRIPTION  = 1 where
current of cur1
4. не освобождая первый статемент и не закрывая курсор выполняем пункты 1 и
2 создавая новый Statement Handle (имя курсора то-же)
5. Выполняем препарированный запрос из пункта 3 (update RDB$DATABASE SET
RDB$DESCRIPTION  = 1 where current of cur1
).

и сервер падает.

Причём падает не всегда (но почти всегда). Иногда возникает ошибка invalid
statement handle, что, наверно и должно быть.


Ответить