miniflux-legacy/vendor/PicoDb/Drivers/Sqlite.php

57 lines
1.2 KiB
PHP
Raw Normal View History

2013-02-18 03:48:21 +01:00
<?php
namespace PicoDb;
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);
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)
{
2013-07-13 02:26:47 +02:00
if (strpos($value, '.') !== false) return $value;
2013-02-18 03:48:21 +01:00
return '"'.$value.'"';
}
}