summaryrefslogtreecommitdiff
path: root/database
diff options
context:
space:
mode:
Diffstat (limited to 'database')
-rw-r--r--database/database.mysql18
-rw-r--r--database/database.pgsql16
-rw-r--r--database/updates.inc75
3 files changed, 101 insertions, 8 deletions
diff --git a/database/database.mysql b/database/database.mysql
index eea199a22..d635f6dc1 100644
--- a/database/database.mysql
+++ b/database/database.mysql
@@ -563,6 +563,16 @@ CREATE TABLE role (
) TYPE=MyISAM;
--
+-- Table structure for table 'search_dataset'
+--
+CREATE TABLE search_dataset (
+ sid int(10) unsigned NOT NULL default '0',
+ type varchar(16) default NULL,
+ data longtext NOT NULL,
+ KEY sid_type (sid, type)
+) TYPE=MyISAM;
+
+--
-- Table structure for table 'search_index'
--
@@ -572,9 +582,9 @@ CREATE TABLE search_index (
type varchar(16) default NULL,
fromsid int(10) unsigned NOT NULL default '0',
fromtype varchar(16) default NULL,
- score int(10) unsigned default NULL,
- KEY sid (sid),
- KEY fromsid (fromsid),
+ score float default NULL,
+ KEY sid_type (sid, type),
+ KEY from_sid_type (fromsid, fromtype),
KEY word (word)
) TYPE=MyISAM;
@@ -584,7 +594,7 @@ CREATE TABLE search_index (
CREATE TABLE search_total (
word varchar(50) NOT NULL default '',
- count int(10) unsigned default NULL,
+ count float default NULL,
PRIMARY KEY (word)
) TYPE=MyISAM;
diff --git a/database/database.pgsql b/database/database.pgsql
index c3cf8738d..ba2fd0a8f 100644
--- a/database/database.pgsql
+++ b/database/database.pgsql
@@ -572,6 +572,16 @@ CREATE TABLE role (
);
--
+-- Table structure for table 'search_dataset'
+--
+CREATE TABLE search_dataset (
+ sid integer NOT NULL default '0',
+ type varchar(16) default NULL,
+ data text NOT NULL default '',
+ KEY sid_type (sid, type)
+);
+
+--
-- Table structure for search_index
--
@@ -581,10 +591,10 @@ CREATE TABLE search_index (
type varchar(16) default NULL,
fromsid integer NOT NULL default '0',
fromtype varchar(16) default NULL,
- score integer default NULL
+ score float default NULL
);
-CREATE INDEX search_index_sid_idx ON search_index(sid);
-CREATE INDEX search_index_fromsid_idx ON search_index(fromsid);
+CREATE INDEX search_index_sid_type_idx ON search_index(sid, type);
+CREATE INDEX search_index_from_sid_type_idx ON search_index(fromsid, fromtype);
CREATE INDEX search_index_word_idx ON search_index(word);
--
diff --git a/database/updates.inc b/database/updates.inc
index 988cb3a6f..2c2c57dea 100644
--- a/database/updates.inc
+++ b/database/updates.inc
@@ -66,7 +66,8 @@ $sql_updates = array(
"2005-08-25" => "update_146",
"2005-09-07" => "update_147",
"2005-09-18" => "update_148",
- "2005-09-27" => "update_149"
+ "2005-09-27" => "update_149",
+ "2005-10-15" => "update_150"
);
function update_110() {
@@ -846,6 +847,78 @@ function update_149() {
return $ret;
}
+function update_150() {
+ $ret = array();
+
+ $ret[] = update_sql("DELETE FROM {variable} WHERE name = 'node_cron_last'");
+ $ret[] = update_sql("DELETE FROM {variable} WHERE name = 'minimum_word_size'");
+ $ret[] = update_sql("DELETE FROM {variable} WHERE name = 'remove_short'");
+
+ $ret[] = update_sql("DELETE FROM {node_counter} WHERE nid = 0");
+
+ $ret[] = update_sql('DROP TABLE {search_index}');
+ $ret[] = update_sql('DROP TABLE {search_total}');
+
+ switch ($GLOBALS['db_type']) {
+ case 'mysqli':
+ case 'mysql':
+ $ret[] = update_sql("CREATE TABLE {search_dataset} (
+ sid int(10) unsigned NOT NULL default '0',
+ type varchar(16) default NULL,
+ data longtext NOT NULL,
+ KEY sid_type (sid, type)
+ )");
+
+ $ret[] = update_sql("CREATE TABLE {search_index} (
+ word varchar(50) NOT NULL default '',
+ sid int(10) unsigned NOT NULL default '0',
+ type varchar(16) default NULL,
+ fromsid int(10) unsigned NOT NULL default '0',
+ fromtype varchar(16) default NULL,
+ score float default NULL,
+ KEY sid_type (sid, type),
+ KEY from_sid_type (fromsid, fromtype),
+ KEY word (word)
+ )");
+
+ $ret[] = update_sql("CREATE TABLE {search_total} (
+ word varchar(50) NOT NULL default '',
+ count float default NULL,
+ PRIMARY KEY word (word)
+ )");
+ break;
+ case 'pgsql':
+ $ret[] = update_sql("CREATE TABLE {search_dataset} (
+ sid integer NOT NULL default '0',
+ type varchar(16) default NULL,
+ data text NOT NULL default '',
+ KEY sid_type (sid, type)
+ )");
+
+ $ret[] = update_sql("CREATE TABLE {search_index} (
+ word varchar(50) NOT NULL default '',
+ sid integer NOT NULL default '0',
+ type varchar(16) default NULL,
+ fromsid integer NOT NULL default '0',
+ fromtype varchar(16) default NULL,
+ score float default NULL
+ )");
+ $ret[] = update_sql("CREATE INDEX search_index_sid_type_idx ON {search_index}(sid, type)");
+ $ret[] = update_sql("CREATE INDEX search_index_from_sid_type_idx ON {search_index}(fromsid, fromtype)");
+ $ret[] = update_sql("CREATE INDEX search_index_word_idx ON {search_index}(word)");
+
+ $ret[] = update_sql("CREATE TABLE {search_total} (
+ word varchar(50) NOT NULL default '',
+ count float default NULL
+ )");
+ $ret[] = update_sql("CREATE INDEX search_total_word_idx ON {search_total}(word)");
+ break;
+ default:
+ break;
+ }
+ return $ret;
+}
+
function update_sql($sql) {
$edit = $_POST["edit"];
$result = db_query($sql);