Hello,
how to start a non-blocking transaction in SQLite? Using the Phalcon's begin():
/** @var $db \Phalcon\Db\Adapter\Pdo\Sqlite */
$db = \Phalcon\DI::getDefault()->getDbgames();
$db->begin();
very_long_process_with_inserts_and_updates();
$db->commit();
I'm getting the 'SQLSTATE[HY000]: General error: 5 database is locked' error on database read process (index.php).
But when I'm using the raw SQL:
$g = new \Models\Game();
new Resultset(null, $g, $g->getReadConnection()->query("BEGIN DEFERRED TRANSACTION"));
and then
$query = $this->modelsManager->createQuery("UPDATE \\Models\\Game SET active='N'");
$result = $query->execute();
I'm getting the error:
PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1 cannot start a transaction within a transaction'
I think there should be some parameter for begin() to set it in non-blocking mode.