From e7b7fc0d247d71ef745ca72bf772304ab15314c6 Mon Sep 17 00:00:00 2001 From: shish Date: Sun, 18 May 2008 02:14:51 +0000 Subject: [PATCH] db abstraction blargh git-svn-id: file:///home/shish/svn/shimmie2/trunk@851 7f39781d-f577-437e-ae19-be835c7a54ca --- core/database.class.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/core/database.class.php b/core/database.class.php index 912b976d..9450eb63 100644 --- a/core/database.class.php +++ b/core/database.class.php @@ -29,6 +29,22 @@ class Querylet { $this->variables[] = $var; } } // }}} +// {{{ dbengines +class DBEngine { + var $name = null; + var $auto_increment = null; + var $create_table_extras = ""; +} +class MySQL extends DBEngine { + var $name = "mysql"; + var $auto_increment = "INTEGER PRIMARY KEY auto_increment"; + var $create_table_extras = "TYPE=INNODB DEFAULT CHARSET='utf8'"; +} +class PostgreSQL extends DBEngine { + var $name = "pgsql"; + var $auto_increment = "SERIAL PRIMARY KEY"; +} +//}}} /* * A class for controlled database access, available through "global $database" @@ -38,6 +54,7 @@ class Database { var $extensions; var $get_images = "SELECT images.*,UNIX_TIMESTAMP(posted) AS posted_timestamp FROM images "; var $cache_hits = 0, $cache_misses = 0; + var $engine = null; /* * Create a new database object using connection info @@ -46,6 +63,7 @@ class Database { public function Database() { if(is_readable("config.php")) { require_once "config.php"; + $this->engine = new MySQL(); $this->db = @NewADOConnection($database_dsn); $this->use_memcache = isset($memcache); if($this->db) { @@ -141,6 +159,10 @@ class Database { } public function upgrade_schema($filename) { + $this->install_schema($filename); + } + + public function install_schema($filename) { //print "
upgrading $filename"; global $config;