(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)
sqlite_busy_timeout -- SQLiteDatabase::busyTimeout — Устанавливает или полностью отключает время ожидания
$dbhandle
, int $milliseconds
)Объектно-ориентированный стиль (метод):
$milliseconds
)
Устанавливает максимальное время, в миллисекундах, в течение
которого SQLite ожидает готовности базы данных, заданной аргументом
dbhandle
.
dbhandle
Ресурс базы данных SQLite, полученный из функции sqlite_open() в случае использования процедурного подхода. Этот параметр не требуется при использовании объектно-ориентированного подхода.
milliseconds
Количество миллисекунд. Если равен 0, то в случае, то функции-обработчики, вызываемые при блокировке базы данных, будут отключены и SQLITE немедленно вернет статус-код SQLITE_BUSY, если другой процесс/нить заблокировал базу данных для обновления.
По умолчанию, при открытии базы данных, PHP устанавливает время ожидания в 60 секунд.
Замечание:
В одной секунде содержится одна тысяча (1000) миллисекунд.
Эта функция не возвращает значения после выполнения.
Пример #1 Процедурный стиль
<?php
$dbhandle = sqlite_open('sqlitedb');
sqlite_busy_timeout($dbhandle, 10000); // установка таймаута в 10 секунд
sqlite_busy_timeout($dbhandle, 0); // отключение функции-обработчика
?>
Пример #2 Объектно-ориентированный стиль
<?php
$dbhandle = new SQLiteDatabase('sqlitedb');
$dbhandle->busyTimeout(10000); // 10 секунд
$dbhandle->busyTimeout(0); // отключение
?>