summaryrefslogtreecommitdiff
path: root/database
diff options
context:
space:
mode:
Diffstat (limited to 'database')
-rw-r--r--database/database.mysql14
-rw-r--r--database/database.pgsql16
-rw-r--r--database/updates.inc55
3 files changed, 77 insertions, 8 deletions
diff --git a/database/database.mysql b/database/database.mysql
index 933516980..5d8e15a36 100644
--- a/database/database.mysql
+++ b/database/database.mysql
@@ -394,8 +394,6 @@ CREATE TABLE node (
nid int(10) unsigned NOT NULL auto_increment,
type varchar(16) NOT NULL default '',
title varchar(128) NOT NULL default '',
- score int(11) NOT NULL default '0',
- votes int(11) NOT NULL default '0',
uid int(10) NOT NULL default '0',
status int(4) NOT NULL default '1',
created int(11) NOT NULL default '0',
@@ -403,7 +401,6 @@ CREATE TABLE node (
comment int(2) NOT NULL default '0',
promote int(2) NOT NULL default '0',
moderate int(2) NOT NULL default '0',
- users longtext NOT NULL,
teaser longtext NOT NULL,
body longtext NOT NULL,
revisions longtext NOT NULL,
@@ -531,6 +528,17 @@ CREATE TABLE poll_choices (
) TYPE=MyISAM;
--
+-- Table structure for table 'queue'
+--
+
+CREATE TABLE queue (
+ nid int(10) unsigned NOT NULL,
+ uid int(10) unsigned NOT NULL,
+ vote int(3) NOT NULL default '0',
+ PRIMARY KEY (nid, uid)
+) TYPE=MyISAM;
+
+--
-- Table structure for table 'role'
--
diff --git a/database/database.pgsql b/database/database.pgsql
index df50d5d84..f78326980 100644
--- a/database/database.pgsql
+++ b/database/database.pgsql
@@ -395,15 +395,12 @@ CREATE TABLE node (
nid SERIAL,
type varchar(16) NOT NULL default '',
title varchar(128) NOT NULL default '',
- score integer NOT NULL default '0',
- votes integer NOT NULL default '0',
uid integer NOT NULL default '0',
status integer NOT NULL default '1',
created integer NOT NULL default '0',
comment integer NOT NULL default '0',
promote integer NOT NULL default '0',
moderate integer NOT NULL default '0',
- users text NOT NULL default '',
teaser text NOT NULL default '',
body text NOT NULL default '',
changed integer NOT NULL default '0',
@@ -544,6 +541,19 @@ CREATE TABLE poll_choices (
CREATE INDEX poll_choices_nid_idx ON poll_choices(nid);
--
+-- Table structure for queue
+--
+
+CREATE TABLE queue (
+ nid integer NOT NULL default '0',
+ uid integer NOT NULL default '0',
+ vote integer NOT NULL default '0',
+ PRIMARY KEY (nid, uid)
+)
+CREATE INDEX queue_nid_idx ON queue(nid);
+CREATE INDEX queue_uid_idx ON queue(uid);
+
+--
-- Table structure for role
--
diff --git a/database/updates.inc b/database/updates.inc
index fbe5ec8e0..1d0de1eeb 100644
--- a/database/updates.inc
+++ b/database/updates.inc
@@ -89,7 +89,8 @@ $sql_updates = array(
"2004-10-31: first update since Drupal 4.5.0 release" => "update_110",
"2004-11-07" => "update_111",
"2004-11-15" => "update_112",
- "2004-11-28" => "update_113"
+ "2004-11-28" => "update_113",
+ "2004-12-05" => "update_114"
);
function update_32() {
@@ -1983,7 +1984,7 @@ function update_111() {
function update_112() {
$ret = array();
- $ret[] = update_sql("CREATE TABLE flood (
+ $ret[] = update_sql("CREATE TABLE {flood} (
event varchar(64) NOT NULL default '',
hostname varchar(128) NOT NULL default '',
timestamp int(11) NOT NULL default '0'
@@ -2015,6 +2016,56 @@ function update_113() {
return $ret;
}
+function update_114() {
+ $ret = array();
+ if ($GLOBALS['db_type'] == 'mysql') {
+ $ret[] = update_sql("CREATE TABLE {queue} (
+ nid int(10) unsigned NOT NULL,
+ uid int(10) unsigned NOT NULL,
+ vote int(3) NOT NULL default '0',
+ PRIMARY KEY (nid, uid)
+ )");
+ }
+ else if ($GLOBALS['db_type'] == 'pgsql') {
+ $ret[] = update_sql("CREATE TABLE {queue} (
+ nid integer NOT NULL default '0',
+ uid integer NOT NULL default '0',
+ vote integer NOT NULL default '0'
+ )");
+ $ret[] = update_sql("CREATE INDEX queue_nid_idx ON queue(nid)");
+ $ret[] = update_sql("CREATE INDEX queue_uid_idx ON queue(uid)");
+ }
+
+ $result = db_query("SELECT nid, votes, score, users FROM {node}");
+ while ($node = db_fetch_object($result)) {
+ if (isset($node->users)) {
+ $arr = explode(',', $node->users);
+ unset($node->users);
+ foreach ($arr as $value) {
+ $arr2 = explode('=', trim($value));
+ if (isset($arr2[0]) && isset($arr2[1])) {
+ switch ($arr2[1]) {
+ case '+ 1':
+ db_query("INSERT INTO {queue} (nid, uid, vote) VALUES (%d, %d, %d)", $node->nid, (int)$arr2[0], 1);
+ break;
+ case '- 1':
+ db_query("INSERT INTO {queue} (nid, uid, vote) VALUES (%d, %d, %d)", $node->nid, (int)$arr2[0], -1);
+ break;
+ default:
+ db_query("INSERT INTO {queue} (nid, uid, vote) VALUES (%d, %d, %d)", $node->nid, (int)$arr2[0], 0);
+ }
+ }
+ }
+ }
+ }
+
+ $ret[] = update_sql("ALTER TABLE {node} DROP votes");
+ $ret[] = update_sql("ALTER TABLE {node} DROP score");
+ $ret[] = update_sql("ALTER TABLE {node} DROP users");
+
+ return $ret;
+}
+
function update_sql($sql) {
$edit = $_POST["edit"];
$result = db_query($sql);