aboutsummaryrefslogtreecommitdiff
path: root/engine/database/SQLiteConnection.php
diff options
context:
space:
mode:
authorEvgeny Zinoviev <me@ch1p.io>2024-01-31 06:11:00 +0300
committerEvgeny Zinoviev <me@ch1p.io>2024-01-31 20:45:40 +0300
commitc0dc531ebefd8912819f3b6c8bda1fed3c7e750c (patch)
tree2c75aa9df182260aef09faf4befd81a4c2b9c5e2 /engine/database/SQLiteConnection.php
parent48d688cdf7f9eae1bf11b8a6f0e5b98687c604cb (diff)
make it simple, but not simpler
Diffstat (limited to 'engine/database/SQLiteConnection.php')
-rw-r--r--engine/database/SQLiteConnection.php81
1 files changed, 0 insertions, 81 deletions
diff --git a/engine/database/SQLiteConnection.php b/engine/database/SQLiteConnection.php
deleted file mode 100644
index 6b03c7c..0000000
--- a/engine/database/SQLiteConnection.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-
-class SQLiteConnection extends CommonDatabase {
-
- const SCHEMA_VERSION = 0;
-
- protected SQLite3 $link;
-
- public function __construct(string $db_path) {
- $will_create = !file_exists($db_path);
- $this->link = new SQLite3($db_path);
- if ($will_create)
- setperm($db_path);
- $this->link->enableExceptions(true);
- $this->upgradeSchema();
- }
-
- protected function upgradeSchema() {
- $cur = $this->getSchemaVersion();
- if ($cur == self::SCHEMA_VERSION)
- return;
-
- if ($cur < 1) {
- // TODO
- }
-
- $this->syncSchemaVersion();
- }
-
- protected function getSchemaVersion() {
- return $this->link->query("PRAGMA user_version")->fetchArray()[0];
- }
-
- protected function syncSchemaVersion() {
- $this->link->exec("PRAGMA user_version=".self::SCHEMA_VERSION);
- }
-
- public function query(string $sql, ...$params): SQLite3Result {
- return $this->link->query($this->prepareQuery($sql, ...$params));
- }
-
- public function exec(string $sql, ...$params) {
- return $this->link->exec($this->prepareQuery($sql, ...$params));
- }
-
- public function querySingle(string $sql, ...$params) {
- return $this->link->querySingle($this->prepareQuery($sql, ...$params));
- }
-
- public function querySingleRow(string $sql, ...$params) {
- return $this->link->querySingle($this->prepareQuery($sql, ...$params), true);
- }
-
- public function insertId(): int {
- return $this->link->lastInsertRowID();
- }
-
- public function escape(string $s): string {
- return $this->link->escapeString($s);
- }
-
- public function fetch($q): ?array {
- // TODO: Implement fetch() method.
- }
-
- public function fetchAll($q): ?array {
- // TODO: Implement fetchAll() method.
- }
-
- public function fetchRow($q): ?array {
- // TODO: Implement fetchRow() method.
- }
-
- public function result($q, int $field = 0) {
- return $q?->fetchArray()[$field];
- }
-
- public function numRows($q): ?int {
- // TODO: Implement numRows() method.
- }
-} \ No newline at end of file