miniflux-legacy/vendor/fguillot/picodb/lib/PicoDb/Driver/Sqlite.php

58 lines
1.1 KiB
PHP
Raw Normal View History

2013-02-18 03:48:21 +01:00
<?php
namespace PicoDb\Driver;
2013-02-18 03:48:21 +01:00
use PDO;
use LogicException;
2013-02-18 03:48:21 +01:00
class Sqlite extends PDO
{
public function __construct(array $settings)
2013-02-18 03:48:21 +01:00
{
$required_atttributes = array(
'filename',
);
foreach ($required_atttributes as $attribute) {
if (! isset($settings[$attribute])) {
throw new LogicException('This configuration parameter is missing: "'.$attribute.'"');
}
}
parent::__construct('sqlite:'.$settings['filename']);
2013-02-18 03:48:21 +01:00
$this->exec('PRAGMA foreign_keys = ON');
}
public function getSchemaVersion()
{
$rq = $this->prepare('PRAGMA user_version');
$rq->execute();
$result = $rq->fetch(PDO::FETCH_ASSOC);
2013-02-18 03:48:21 +01:00
if (isset($result['user_version'])) {
return (int) $result['user_version'];
2013-02-18 03:48:21 +01:00
}
return 0;
}
public function setSchemaVersion($version)
{
$this->exec('PRAGMA user_version='.$version);
}
public function getLastId()
{
return $this->lastInsertId();
}
public function escapeIdentifier($value)
{
return '"'.$value.'"';
}
}