]> git.openstreetmap.org Git - osqa.git/blob - forum_modules/mysqlfulltext/fts_install.sql
4cd6bd1911c064f9abe60a955199f94598d0c3a3
[osqa.git] / forum_modules / mysqlfulltext / fts_install.sql
1 CREATE TABLE forum_mysqlftsindex (
2         id int NOT NULL AUTO_INCREMENT,
3         node_id int NOT NULL UNIQUE,
4         body longtext NOT NULL,
5         PRIMARY KEY (id),
6         FOREIGN KEY (node_id) REFERENCES forum_node (id)   ON UPDATE CASCADE ON DELETE CASCADE,
7         FULLTEXT (body)
8 ) ENGINE=`MyISAM`;
9
10 ALTER TABLE forum_mysqlftsindex CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
11
12 delimiter |
13
14 CREATE TRIGGER fts_on_insert AFTER INSERT ON forum_node
15   FOR EACH ROW
16   BEGIN
17     INSERT INTO forum_mysqlftsindex (node_id, body) VALUES (NEW.id, CONCAT_WS('\n', NEW.title, NEW.body, NEW.tagnames));
18   END;
19 |
20
21 delimiter |
22
23 CREATE TRIGGER fts_on_update AFTER UPDATE ON forum_node
24   FOR EACH ROW
25   BEGIN
26     UPDATE forum_mysqlftsindex SET body = CONCAT_WS('\n', NEW.title, NEW.body, NEW.tagnames) WHERE node_id = NEW.id;
27   END;
28
29 |
30
31 INSERT INTO forum_mysqlftsindex (node_id, body) SELECT id, CONCAT_WS('\n', title, body, tagnames) FROM forum_node;