--- tracker2.install 2008-03-11 08:03:52.000000000 +0800 +++ tracker2.install 2008-03-30 11:38:13.000000000 +0800 @@ -3,6 +3,9 @@ // $Id: tracker2.install,v 1.7 2008/03/11 00:03:52 straussd Exp $ function tracker2_install() { + switch ($GLOBALS['db_type']) { + case 'mysql': + case 'mysqli': db_query("CREATE TABLE IF NOT EXISTS {tracker2_node} ( `nid` int(10) unsigned NOT NULL, `published` tinyint(1) NOT NULL, @@ -20,13 +23,47 @@ function tracker2_install() { db_query('ALTER TABLE {comments} ADD INDEX tracker_changed (nid, status, timestamp)'); db_query('ALTER TABLE {comments} ADD INDEX tracker_subscription (uid, nid, status)'); + break; + case 'pgsql': + db_query("CREATE TABLE {tracker2_node} ( + nid int_unsigned NOT NULL, + published smallint NOT NULL, + changed int_unsigned NOT NULL, + PRIMARY KEY (nid) + )"); + db_query('CREATE INDEX {tracker2_node}_tracker_idx ON {tracker2_node} (published, changed)'); + + db_query("CREATE TABLE {tracker2_user} ( + nid int_unsigned NOT NULL, + published smallint NOT NULL, + uid int_unsigned NOT NULL, + changed int_unsigned NOT NULL, + PRIMARY KEY (nid, uid) + )"); + db_query('CREATE INDEX {tracker2_user}_tracker_idx ON {tracker2_user} (uid, published, changed)'); + + db_query('CREATE INDEX {comments}_tracker_changed_idx ON {comments} (nid, status, timestamp)'); + db_query('CREATE INDEX {comments}_tracker_subscription_idx ON {comments} (uid, nid, status)'); + break; + } } function tracker2_uninstall() { + switch ($GLOBALS['db_type']) { + case 'mysql': + case 'mysqli': db_query('DROP TABLE IF EXISTS {tracker2_node}'); db_query('DROP TABLE IF EXISTS {tracker2_user}'); db_query('ALTER TABLE {comments} DROP INDEX tracker_changed'); db_query('ALTER TABLE {comments} DROP INDEX tracker_subscription'); + break; + case 'pgsql': + db_query('DROP TABLE {tracker2_node}'); + db_query('DROP TABLE {tracker2_user}'); + db_query('DROP INDEX {comments}_tracker_changed_idx'); + db_query('DROP INDEX {comments}_tracker_subscription_idx'); + break; + } variable_del('tracker2_index_nid'); }