summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--database/database.4.0.mysql11
-rw-r--r--database/database.4.1.mysql11
-rw-r--r--database/updates.inc19
3 files changed, 31 insertions, 10 deletions
diff --git a/database/database.4.0.mysql b/database/database.4.0.mysql
index e6a57a4a3..b4a4dcc4f 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 f15de50d7..52eebe6e3 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 83b23aff3..658f7103d 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;
+}