2006-07-13 13:14:25 +00:00
|
|
|
<?php
|
2006-07-14 01:05:10 +00:00
|
|
|
// $Id$
|
2006-07-13 13:14:25 +00:00
|
|
|
|
2006-09-01 07:40:08 +00:00
|
|
|
/**
|
|
|
|
* Implementation of hook_install().
|
|
|
|
*/
|
2006-07-13 13:14:25 +00:00
|
|
|
function search_install() {
|
|
|
|
switch ($GLOBALS['db_type']) {
|
|
|
|
case 'mysql':
|
|
|
|
case 'mysqli':
|
|
|
|
db_query("CREATE TABLE {search_dataset} (
|
2006-08-20 06:38:50 +00:00
|
|
|
sid int unsigned NOT NULL default '0',
|
2006-07-13 13:14:25 +00:00
|
|
|
type varchar(16) default NULL,
|
|
|
|
data longtext NOT NULL,
|
|
|
|
KEY sid_type (sid, type)
|
|
|
|
) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
|
|
|
|
|
|
|
|
db_query("CREATE TABLE {search_index} (
|
|
|
|
word varchar(50) NOT NULL default '',
|
2006-08-20 06:38:50 +00:00
|
|
|
sid int unsigned NOT NULL default '0',
|
2006-07-13 13:14:25 +00:00
|
|
|
type varchar(16) default NULL,
|
2006-08-20 06:38:50 +00:00
|
|
|
fromsid int unsigned NOT NULL default '0',
|
2006-07-13 13:14:25 +00:00
|
|
|
fromtype varchar(16) default NULL,
|
|
|
|
score float default NULL,
|
|
|
|
KEY sid_type (sid, type),
|
|
|
|
KEY from_sid_type (fromsid, fromtype),
|
|
|
|
KEY word (word)
|
|
|
|
) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
|
|
|
|
|
|
|
|
db_query("CREATE TABLE {search_total} (
|
|
|
|
word varchar(50) NOT NULL default '',
|
|
|
|
count float default NULL,
|
|
|
|
PRIMARY KEY (word)
|
|
|
|
) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
|
2006-08-04 06:58:44 +00:00
|
|
|
break;
|
|
|
|
case 'pgsql':
|
|
|
|
db_query("CREATE TABLE {search_dataset} (
|
2006-08-15 05:25:20 +00:00
|
|
|
sid int_unsigned NOT NULL default '0',
|
2006-08-04 06:58:44 +00:00
|
|
|
type varchar(16) default NULL,
|
|
|
|
data text NOT NULL
|
|
|
|
)");
|
|
|
|
db_query("CREATE INDEX {search_dataset}_sid_type_idx ON {search_dataset} (sid, type)");
|
|
|
|
|
|
|
|
db_query("CREATE TABLE {search_index} (
|
|
|
|
word varchar(50) NOT NULL default '',
|
2006-08-15 05:25:20 +00:00
|
|
|
sid int_unsigned NOT NULL default '0',
|
2006-08-04 06:58:44 +00:00
|
|
|
type varchar(16) default NULL,
|
2006-08-15 05:25:20 +00:00
|
|
|
fromsid int_unsigned NOT NULL default '0',
|
2006-08-04 06:58:44 +00:00
|
|
|
fromtype varchar(16) default NULL,
|
|
|
|
score float default NULL
|
|
|
|
)");
|
|
|
|
db_query("CREATE INDEX {search_index}_sid_type_idx ON {search_index} (sid, type)");
|
|
|
|
db_query("CREATE INDEX {search_index}_from_sid_type_idx ON {search_index} (fromsid, fromtype)");
|
|
|
|
db_query("CREATE INDEX {search_index}_word_idx ON {search_index} (word)");
|
|
|
|
|
|
|
|
db_query("CREATE TABLE {search_total} (
|
|
|
|
word varchar(50) NOT NULL default '',
|
|
|
|
count float default NULL,
|
|
|
|
PRIMARY KEY (word)
|
|
|
|
)");
|
|
|
|
break;
|
2006-07-13 13:14:25 +00:00
|
|
|
}
|
2006-08-04 06:58:44 +00:00
|
|
|
}
|
2006-09-01 07:40:08 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Implementation of hook_uninstall().
|
|
|
|
*/
|
|
|
|
function search_uninstall() {
|
|
|
|
db_query('DROP TABLE {search_dataset}');
|
|
|
|
db_query('DROP TABLE {search_index}');
|
|
|
|
db_query('DROP TABLE {search_total}');
|
|
|
|
variable_del('minimum_word_size');
|
|
|
|
variable_del('overlap_cjk');
|
|
|
|
}
|