summaryrefslogtreecommitdiff
path: root/update.php
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2003-09-30 08:55:03 +0000
committerDries Buytaert <dries@buytaert.net>2003-09-30 08:55:03 +0000
commit52c4240600f3140bbf646c1b22b50187d333f917 (patch)
treed7cd3609c7f0d32069ba55fe7ffd273d9b6532a4 /update.php
parent1127b04b6b5e139b925d053f1f1bc79fbf18898e (diff)
downloadbrdo-52c4240600f3140bbf646c1b22b50187d333f917.tar.gz
brdo-52c4240600f3140bbf646c1b22b50187d333f917.tar.bz2
- Added PostgreSQL support to the update script. Patch by Adrian.
- Making Adrian the new PostgreSQL maintainer.
Diffstat (limited to 'update.php')
-rw-r--r--update.php124
1 files changed, 94 insertions, 30 deletions
diff --git a/update.php b/update.php
index b9c07c33d..1a88cf5fd 100644
--- a/update.php
+++ b/update.php
@@ -46,7 +46,8 @@ $mysql_updates = array(
"2003-08-20" => "update_61",
"2003-08-27" => "update_62",
"2003-09-09" => "update_63",
- "2003-09-10" => "update_64"
+ "2003-09-10" => "update_64",
+ "2003-09-29" => "update_65"
);
function update_32() {
@@ -274,12 +275,23 @@ function update_57() {
}
function update_58() {
- update_sql("ALTER TABLE node ADD path varchar(250) NULL default ''");
+ if ($GLOBALS["db_type"] == "pgsql") {
+ update_sql("ALTER TABLE {node} ADD path varchar(250) NULL");
+ update_sql("ALTER TABLE {node} ALTER COLUMN path SET DEFAULT ''");
+ }
+ else {
+ update_sql("ALTER TABLE {node} ADD path varchar(250) NULL default ''");
+ }
}
function update_59() {
-
- update_sql("ALTER TABLE {comments} ADD thread VARCHAR(255) NOT NULL");
+ if ($GLOBALS["db_type"] == "pgsql") {
+ update_sql("ALTER TABLE {comments} ADD thread VARCHAR(255)");
+ update_sql("ALTER TABLE {comments} ALTER COLUMN thread SET NOT NULL");
+ }
+ else {
+ update_sql("ALTER TABLE {comments} ADD thread VARCHAR(255) NOT NULL");
+ }
$result = db_query("SELECT DISTINCT(nid) FROM {comments} WHERE thread = ''");
@@ -337,34 +349,71 @@ function update_60() {
}
function update_61() {
- update_sql("CREATE TABLE IF NOT EXISTS {sessions} (
- uid int(10) unsigned NOT NULL,
- sid varchar(32) NOT NULL default '',
- hostname varchar(128) NOT NULL default '',
- timestamp int(11) NOT NULL default '0',
- session text,
- KEY uid (uid),
- KEY sid (sid(4)),
- KEY timestamp (timestamp)
- )");
+ if ($GLOBALS["db_type"] == "pgsql") {
+ /**
+ * Overkill.. the user cant get here without having this table
+ */
+
+ update_sql("CREATE TABLE {sessions} (
+ uid integer NOT NULL,
+ sid varchar(32) NOT NULL default '',
+ hostname varchar(128) NOT NULL default '',
+ timestamp integer NOT NULL default '0',
+ session text,
+ PRIMARY KEY (sid)
+ );");
+
+ update_sql("ALTER TABLE {users} DROP session;");
+ update_sql("ALTER TABLE {users} DROP hostname;");
+ update_sql("ALTER TABLE {users} DROP sid;");
- update_sql("ALTER TABLE {users} DROP session;");
- update_sql("ALTER TABLE {users} DROP hostname;");
- update_sql("ALTER TABLE {users} DROP sid;");
+ }
+ else {
+ update_sql("CREATE TABLE IF NOT EXISTS {sessions} (
+ uid int(10) unsigned NOT NULL,
+ sid varchar(32) NOT NULL default '',
+ hostname varchar(128) NOT NULL default '',
+ timestamp int(11) NOT NULL default '0',
+ session text,
+ KEY uid (uid),
+ KEY sid (sid(4)),
+ KEY timestamp (timestamp)
+ )");
+
+ update_sql("ALTER TABLE {users} DROP session;");
+ update_sql("ALTER TABLE {users} DROP hostname;");
+ update_sql("ALTER TABLE {users} DROP sid;");
+ }
}
function update_62() {
- update_sql("ALTER TABLE {accesslog} ADD INDEX accesslog_timestamp (timestamp)");
+ if ($GLOBALS["db_type"] == "pgsql") {
+ update_sql("CREATE INDEX accesslog_timestamp ON {accesslog} (timestamp)");
+
+ update_sql("DROP INDEX node_type_idx");
+ update_sql("DROP INDEX node_title_idx");
+ update_sql("DROP INDEX node_promote_idx");
- update_sql("ALTER TABLE {node} DROP INDEX type");
- update_sql("ALTER TABLE {node} DROP INDEX title");
- update_sql("ALTER TABLE {node} DROP INDEX promote");
+ update_sql("CREATE INDEX node_type ON {node} (type)");
+ update_sql("CREATE INDEX node_title_type ON {node} (title,type)");
+ update_sql("CREATE INDEX node_moderate ON {node} (moderate)");
+ update_sql("CREATE INDEX node_path ON {node} (path)");
+ update_sql("CREATE INDEX node_promote_status ON {node} (promote, status)");
- update_sql("ALTER TABLE {node} ADD INDEX node_type (type(4))");
- update_sql("ALTER TABLE {node} ADD INDEX node_title_type (title,type(4))");
- update_sql("ALTER TABLE {node} ADD INDEX node_moderate (moderate)");
- update_sql("ALTER TABLE {node} ADD INDEX node_path (path(5))");
- update_sql("ALTER TABLE {node} ADD INDEX node_promote_status (promote, status)");
+ }
+ else {
+ update_sql("ALTER TABLE {accesslog} ADD INDEX accesslog_timestamp (timestamp)");
+
+ update_sql("ALTER TABLE {node} DROP INDEX type");
+ update_sql("ALTER TABLE {node} DROP INDEX title");
+ update_sql("ALTER TABLE {node} DROP INDEX promote");
+
+ update_sql("ALTER TABLE {node} ADD INDEX node_type (type(4))");
+ update_sql("ALTER TABLE {node} ADD INDEX node_title_type (title,type(4))");
+ update_sql("ALTER TABLE {node} ADD INDEX node_moderate (moderate)");
+ update_sql("ALTER TABLE {node} ADD INDEX node_path (path(5))");
+ update_sql("ALTER TABLE {node} ADD INDEX node_promote_status (promote, status)");
+ }
}
function _update_next_thread($structure, $parent) {
@@ -383,16 +432,31 @@ function _update_next_thread($structure, $parent) {
}
function update_63() {
- update_sql("ALTER TABLE {users} CHANGE uid uid int(10) unsigned NOT NULL default '0'");
- update_sql("INSERT INTO {users} (uid, name, mail, timestamp) VALUES ('0', 'Anonymous', 'root@localhost', '". time() ."')");
- $users = db_result(db_query("SELECT MAX(uid) FROM {users};"));
- update_sql("INSERT INTO {sequences} (name, id) VALUES ('users_uid', '$users')");
+ if ($GLOBALS["db_type"] == "pgsql") {
+ update_sql("INSERT INTO {users} (uid, name, mail, timestamp) VALUES ('0', 'Anonymous', 'root@localhost', '". time() ."')");
+ }
+ else {
+ update_sql("ALTER TABLE {users} CHANGE uid uid int(10) unsigned NOT NULL default '0'");
+ update_sql("INSERT INTO {users} (uid, name, mail, timestamp) VALUES ('0', 'Anonymous', 'root@localhost', '". time() ."')");
+ $users = db_result(db_query("SELECT MAX(uid) FROM {users};"));
+ update_sql("INSERT INTO {sequences} (name, id) VALUES ('users_uid', '$users')");
+ }
}
function update_64() {
update_sql("UPDATE {users} SET rid = 1 WHERE uid = 0");
}
+function update_65() {
+ /* PG SQL ONLY UPDATE */
+ if ($GLOBALS["db_type"] == "pgsql") {
+ update_sql("CREATE FUNCTION \"rand\"() RETURNS float AS '
+ BEGIN
+ RETURN random();
+ END;' LANGUAGE 'plpgsql';");
+ }
+}
+
/*
** System functions
*/