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; $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" * A class for controlled database access, available through "global $database"
@ -38,6 +54,7 @@ class Database {
var $extensions; var $extensions;
var $get_images = "SELECT images.*,UNIX_TIMESTAMP(posted) AS posted_timestamp FROM images "; var $get_images = "SELECT images.*,UNIX_TIMESTAMP(posted) AS posted_timestamp FROM images ";
var $cache_hits = 0, $cache_misses = 0; var $cache_hits = 0, $cache_misses = 0;
var $engine = null;
/* /*
* Create a new database object using connection info * Create a new database object using connection info
@ -46,6 +63,7 @@ class Database {
public function Database() { public function Database() {
if(is_readable("config.php")) { if(is_readable("config.php")) {
require_once "config.php"; require_once "config.php";
$this->engine = new MySQL();
$this->db = @NewADOConnection($database_dsn); $this->db = @NewADOConnection($database_dsn);
$this->use_memcache = isset($memcache); $this->use_memcache = isset($memcache);
if($this->db) { if($this->db) {
@ -141,6 +159,10 @@ class Database {
} }
public function upgrade_schema($filename) { public function upgrade_schema($filename) {
$this->install_schema($filename);
}
public function install_schema($filename) {
//print "<br>upgrading $filename"; //print "<br>upgrading $filename";
global $config; global $config;