DBD:Interbase держит oldest active

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
Linco
Сообщения: 13
Зарегистрирован: 01 дек 2004, 16:02

DBD:Interbase держит oldest active

Сообщение Linco » 28 ноя 2006, 09:09

Есть freebsd и perl модуль с DBD:Interbase. На сервере таблица сессий. Запускается ХП, с данной таблицей работает по алгоритму: if exists(...) then update else insert. И все бы хорошо, но ibanalyst показывает, что существуют долгоживущие транзакции, одновременно растет количество версий в таблице сессий. DBD изначально работало в режиме автокоммит, пробовал вручную делать commit, не помогает. В чем могут быть грабли?
ЗЫ Как только perl модуль останавливаешь, транзакция продвигается.

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 28 ноя 2006, 11:53

Смотри параметры транзакции.
И ещё, не CommitRetaining случайно делается?

Linco
Сообщения: 13
Зарегистрирован: 01 дек 2004, 16:02

Сообщение Linco » 28 ноя 2006, 14:46

WildSery писал(а): И ещё, не CommitRetaining случайно делается?
Ну конечно нет, просто commit.
На транзакции грешил , игрался с ними результат тот же. Изначально параметры транзакции были не заданы,
почитал Доки по DBD, там транзакция стартует как снапшот. менял параметры транзакции, вернее выставил read_commited, результат вроде тот же.
Ваш вариант параметров транзакции для DBD?

Ответить