Spec-Zone.ru › SQLite

Закрытие подключения к базе данных

int sqlite3_close(sqlite3*);
int sqlite3_close_v2(sqlite3*);

Процедуры sqlite3_close() и sqlite3_close_v2() являются деструкторами для объекта sqlite3. Вызовы sqlite3_close() и sqlite3_close_v2() возвращают SQLITE_OK, если объект sqlite3 успешно уничтожен и все связанные ресурсы освобождены.

В идеале, приложения должны завершить все подготовленные запросы, закрыть все дескрипторы BLOB и завершить все объекты sqlite3_backup, связанные с объектом sqlite3, перед попыткой закрытия объекта. Если подключение к базе данных связано с незавершенными подготовленными запросами, дескрипторами BLOB и/или незавершенными объектами sqlite3_backup, то sqlite3_close() оставит подключение к базе данных открытым и вернёт SQLITE_BUSY. Если sqlite3_close_v2() вызывается с незавершенными подготовленными запросами, незакрытыми дескрипторами BLOB и/или незавершенными заданиями резервного копирования, она возвращает SQLITE_OK независимо, но вместо немедленного освобождения подключения к базе данных, она помечает подключение как неиспользуемый «зомби» и принимает меры для автоматического освобождения подключения к базе данных после завершения всех подготовленных запросов, закрытия всех дескрипторов BLOB и завершения всех резервных копий. Интерфейс sqlite3_close_v2() предназначен для использования с языками хоста, которые имеют сборку мусора, и в которых порядок вызова деструкторов произвольный.

Если объект sqlite3 уничтожается, когда транзакция открыта, транзакция автоматически откатывается.

Параметр C для sqlite3_close(C) и sqlite3_close_v2(C) должен быть либо указателем NULL, либо указателем на объект sqlite3, полученным из sqlite3_open(), sqlite3_open16() или sqlite3_open_v2(), и не должен быть ранее закрыт. Вызов sqlite3_close() или sqlite3_close_v2() с аргументом указателя NULL — это безопасная операция без действия.

См. также списки Объектов, Констант и Функций.

SQLite is in the Public Domain.
https://sqlite.org/c3ref/close.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API