]> git.openstreetmap.org Git - osqa.git/blobdiff - forum_modules/mysqlfulltext/fts_install.sql
resolves an issue with empty node bodies when unicode text is passed to Markdown
[osqa.git] / forum_modules / mysqlfulltext / fts_install.sql
index 5ad821e36017956fcfb02cc36c56f8fcd6742e26..eae65e6528e67b4027eb23ac539c81b64feebe46 100644 (file)
@@ -2,9 +2,14 @@ CREATE TABLE forum_mysqlftsindex (
        id int NOT NULL AUTO_INCREMENT,
        node_id int NOT NULL UNIQUE,
        body longtext NOT NULL,
+       title varchar(300),
+       tagnames varchar(255),
        PRIMARY KEY (id),
        FOREIGN KEY (node_id) REFERENCES forum_node (id)   ON UPDATE CASCADE ON DELETE CASCADE,
-       FULLTEXT (body)
+       FULLTEXT (body, title, tagnames),
+       FULLTEXT(body),
+       FULLTEXT(title),
+       FULLTEXT(tagnames)
 ) ENGINE=`MyISAM`;
 
 ALTER TABLE forum_mysqlftsindex CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
@@ -14,7 +19,7 @@ delimiter |
 CREATE TRIGGER fts_on_insert AFTER INSERT ON forum_node
   FOR EACH ROW
   BEGIN
-    INSERT INTO forum_mysqlftsindex (node_id, body) VALUES (NEW.id, UPPER(CONCAT_WS('\n', NEW.title, NEW.body, NEW.tagnames)));
+    INSERT INTO forum_mysqlftsindex (node_id, title, body, tagnames) VALUES (NEW.id, UPPER(NEW.title), UPPER(NEW.body), UPPER(NEW.tagnames));
   END;
 |
 
@@ -23,9 +28,10 @@ delimiter |
 CREATE TRIGGER fts_on_update AFTER UPDATE ON forum_node
   FOR EACH ROW
   BEGIN
-    UPDATE forum_mysqlftsindex SET body = UPPER(CONCAT_WS('\n', NEW.title, NEW.body, NEW.tagnames)) WHERE node_id = NEW.id;
+    UPDATE forum_mysqlftsindex SET title = UPPER(NEW.title), body = UPPER(NEW.body), tagnames = UPPER(NEW.tagnames) WHERE node_id = NEW.id;
   END;
 
 |
 
-INSERT INTO forum_mysqlftsindex (node_id, body) SELECT id, UPPER(CONCAT_WS('\n', title, body, tagnames)) FROM forum_node;
\ No newline at end of file
+INSERT INTO forum_mysqlftsindex (node_id, title, body, tagnames) SELECT id, UPPER(title), UPPER(body), UPPER(tagnames) FROM forum_node;
+