1
1
Fork 0
mirror of https://code.mensbeam.com/MensBeam/Arsse.git synced 2024-12-22 21:22:40 +00:00

Fix PDO driver initialization

This commit is contained in:
J. King 2018-11-09 20:27:05 -05:00
parent c4ca9149a1
commit 471dad0645

View file

@ -20,16 +20,17 @@ class Driver extends \JKingWeb\Arsse\Db\AbstractDriver {
protected $db;
public function __construct(string $dbFile = null) {
public function __construct(string $dbFile = null, string $dbKey = null) {
// check to make sure required extension is loaded
if (!self::requirementsMet()) {
throw new Exception("extMissing", self::driverName()); // @codeCoverageIgnore
if (!static::requirementsMet()) {
throw new Exception("extMissing", static::driverName()); // @codeCoverageIgnore
}
// if no database file is specified in the configuration, use a suitable default
$dbFile = $dbFile ?? Arsse::$conf->dbSQLite3File ?? \JKingWeb\Arsse\BASE."arsse.db";
$dbKey = $dbKey ?? Arsse::$conf->dbSQLite3Key;
$timeout = Arsse::$conf->dbSQLite3Timeout * 1000;
try {
$this->makeConnection($dbFile, Arsse::$conf->dbSQLite3Key);
$this->makeConnection($dbFile, $dbKey);
// set the timeout; parameters are not allowed for pragmas, but this usage should be safe
$this->exec("PRAGMA busy_timeout = $timeout");
// set other initial options