From 88723451becc5e55d1521e7bb70f837e3104499f Mon Sep 17 00:00:00 2001 From: Dries Buytaert <dries@buytaert.net> Date: Tue, 9 May 2006 14:42:08 +0000 Subject: [PATCH] - Patch #62478 by Matt: database schema cleanup. --- database/database.4.0.mysql | 11 ++++++----- database/database.4.1.mysql | 11 ++++++----- database/updates.inc | 19 +++++++++++++++++++ 3 files changed, 31 insertions(+), 10 deletions(-) diff --git a/database/database.4.0.mysql b/database/database.4.0.mysql index e6a57a4a3f4b..b4a4dcc4f2d6 100644 --- a/database/database.4.0.mysql +++ b/database/database.4.0.mysql @@ -412,17 +412,18 @@ CREATE TABLE node ( promote int(2) NOT NULL default '0', moderate int(2) NOT NULL default '0', sticky int(2) NOT NULL default '0', - PRIMARY KEY (nid), + PRIMARY KEY (nid, vid), + UNIQUE KEY vid (vid), KEY node_type (type(4)), - KEY node_title_type (title,type(4)), + KEY node_title_type (title, type(4)), KEY status (status), KEY uid (uid), - KEY vid (vid), KEY node_moderate (moderate), KEY node_promote_status (promote, status), KEY node_created (created), KEY node_changed (changed), - KEY node_status_type (status, type, nid) + KEY node_status_type (status, type, nid), + KEY nid (nid) ); -- @@ -634,7 +635,7 @@ CREATE TABLE sequences ( -- CREATE TABLE node_counter ( - nid int(11) NOT NULL default '0', + nid int(10) NOT NULL default '0', totalcount bigint(20) unsigned NOT NULL default '0', daycount mediumint(8) unsigned NOT NULL default '0', timestamp int(11) unsigned NOT NULL default '0', diff --git a/database/database.4.1.mysql b/database/database.4.1.mysql index f15de50d7e34..52eebe6e3d53 100644 --- a/database/database.4.1.mysql +++ b/database/database.4.1.mysql @@ -440,17 +440,18 @@ CREATE TABLE node ( promote int(2) NOT NULL default '0', moderate int(2) NOT NULL default '0', sticky int(2) NOT NULL default '0', - PRIMARY KEY (nid), + PRIMARY KEY (nid, vid), + UNIQUE KEY vid (vid), KEY node_type (type(4)), - KEY node_title_type (title,type(4)), + KEY node_title_type (title, type(4)), KEY status (status), KEY uid (uid), - KEY vid (vid), KEY node_moderate (moderate), KEY node_promote_status (promote, status), KEY node_created (created), KEY node_changed (changed), - KEY node_status_type (status, type, nid) + KEY node_status_type (status, type, nid), + KEY nid (nid) ) DEFAULT CHARACTER SET utf8; @@ -678,7 +679,7 @@ DEFAULT CHARACTER SET utf8; -- CREATE TABLE node_counter ( - nid int(11) NOT NULL default '0', + nid int(10) NOT NULL default '0', totalcount bigint(20) unsigned NOT NULL default '0', daycount mediumint(8) unsigned NOT NULL default '0', timestamp int(11) unsigned NOT NULL default '0', diff --git a/database/updates.inc b/database/updates.inc index 83b23aff38ab..658f7103d691 100644 --- a/database/updates.inc +++ b/database/updates.inc @@ -1954,3 +1954,22 @@ function system_update_179() { return array(); } + +function system_update_180() { + $ret = array(); + + if ($GLOBALS['db_type'] == 'mysql') { + $ret[] = update_sql("ALTER TABLE {node} DROP PRIMARY KEY"); + $ret[] = update_sql("ALTER TABLE {node} ADD PRIMARY KEY (nid, vid)"); + $ret[] = update_sql("ALTER TABLE {node} DROP INDEX vid"); + $ret[] = update_sql("ALTER TABLE {node} ADD UNIQUE (vid)"); + $ret[] = update_sql("ALTER TABLE {node} ADD INDEX (nid)"); + + $ret[] = update_sql("ALTER TABLE {node_counter} CHANGE nid nid INT(10) NOT NULL DEFAULT '0'"); + } + else { // pgsql + // Insert queries here. + } + + return $ret; +} -- GitLab