db abstraction blargh

git-svn-id: file:///home/shish/svn/shimmie2/trunk@851 7f39781d-f577-437e-ae19-be835c7a54ca
This commit is contained in:
shish 2008-05-18 02:14:51 +00:00
parent 5a4fc6d1fe
commit e7b7fc0d24

View File

@ -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 "<br>upgrading $filename";
global $config;