|
|
Чтобы
сохранять изменения внесенные транзакцией
в базу данных без создания нового контекста
транзакции — имени,
системных ресурсов, и текущего состояния
курсоров, используемых в транзакции —
используют isc_commit_retaining (), вместо
isc_commit_transaction (). В загруженной,
многопользовательской среде, поддержка
контекста транзакции для каждого
пользователя ускоряет обработку и
использует меньшее количество ресурсов
системы, нежели закрытие и старт новой
транзакции для каждого действия. Полный
синтаксис
для
isc_commit_retaining (): ISC_STATUS
isc_commit_retaining( ISC_STATUS
*status_vector, isc_tr_handle
*trans_handle); Isc_commit_retaining
() записывает все задержанные изменения в
базу данных, заканчивает текущую
транзакцию без закрытия
ее потока записи и курсоров, и без
освобождения ее ресурсов системы, затем
начинает новую транзакцию и назначает
существующие потоки и ресурсы системы новой транзакции. Например,
следующий вызлв подтверждает определенную
транзакцию, сохраняя текущее состояние
курсора и ресурсы системы: isc_commit_retaining(status_vector,
&trans); Вызов
isc_rollback_transaction () после
isc_commit_retaining () откатывает назад обновления и записи,
встречающиеся после вызова
isc_commit_retaining ().
|
Дизайн: Piton Alien |