diff options
Diffstat (limited to 'database')
-rw-r--r-- | database/database.mysql | 18 | ||||
-rw-r--r-- | database/database.pgsql | 16 | ||||
-rw-r--r-- | database/updates.inc | 75 |
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); |