]> git.openstreetmap.org Git - osqa.git/blob - forum_modules/mysqlfulltext/fts_install.sql
add the fts indexes during the table creation
[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         title varchar(300),
6         tagnames varchar(255),
7         PRIMARY KEY (id),
8         FOREIGN KEY (node_id) REFERENCES forum_node (id)   ON UPDATE CASCADE ON DELETE CASCADE,
9         FULLTEXT (body, title, tagnames),
10         FULLTEXT(body),
11         FULLTEXT(title),
12         FULLTEXT(tagnames)
13 ) ENGINE=`MyISAM`;
14
15 ALTER TABLE forum_mysqlftsindex CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
16
17 delimiter |
18
19 CREATE TRIGGER fts_on_insert AFTER INSERT ON forum_node
20   FOR EACH ROW
21   BEGIN
22     INSERT INTO forum_mysqlftsindex (node_id, title, body, tagnames) VALUES (NEW.id, UPPER(NEW.title), UPPER(NEW.body), UPPER(NEW.tagnames));
23   END;
24 |
25
26 delimiter |
27
28 CREATE TRIGGER fts_on_update AFTER UPDATE ON forum_node
29   FOR EACH ROW
30   BEGIN
31     UPDATE forum_mysqlftsindex SET title = UPPER(NEW.title), body = UPPER(NEW.body), tagnames = UPPER(NEW.tagnames) WHERE node_id = NEW.id;
32   END;
33
34 |
35
36 INSERT INTO forum_mysqlftsindex (node_id, title, body, tagnames) SELECT id, UPPER(title), UPPER(body), UPPER(tagnames) FROM forum_node;
37 |