# HG changeset patch # User Dan # Date 1195351771 18000 # Node ID 0fe1f610698df41178a172a1ff7be5a3f5334064 # Parent d57af0b0302e42e5a1b1b4b83672791a53776038 Well I'm an idiot - the fulltext index on page_text was missing from a default installation. It didn't break searches but probably slowed them down tremendously. Also set engine to MyISAM on page_text to avoid cryptic error messages from MySQL. diff -r d57af0b0302e -r 0fe1f610698d schema.sql --- a/schema.sql Sat Nov 17 20:31:01 2007 -0500 +++ b/schema.sql Sat Nov 17 21:09:31 2007 -0500 @@ -52,8 +52,9 @@ page_id varchar(63), namespace varchar(16) NOT NULL default 'Article', page_text text, - char_tag varchar(63) -) CHARACTER SET `utf8`; + char_tag varchar(63), + FULLTEXT KEY {{TABLE_PREFIX}}page_search_idx (page_id, namespace, page_text) +) ENGINE = MYISAM CHARACTER SET `utf8`; CREATE TABLE {{TABLE_PREFIX}}pages( page_order int(8), diff -r d57af0b0302e -r 0fe1f610698d upgrade.sql --- a/upgrade.sql Sat Nov 17 20:31:01 2007 -0500 +++ b/upgrade.sql Sat Nov 17 21:09:31 2007 -0500 @@ -52,6 +52,8 @@ ---BEGIN 1.0RC1--- -- Not too many DB changes in this release - that's a good sign ;-) ALTER TABLE {{TABLE_PREFIX}}search_index MODIFY COLUMN word varbinary(64) NOT NULL; +-- This is to correct an issue encountered upgrading a stock Win2k3 + IIS setup +ALTER TABLE {{TABLE_PREFIX}}page_text ENGINE = MYISAM; CREATE FULLTEXT INDEX {{TABLE_PREFIX}}page_search_idx ON {{TABLE_PREFIX}}page_text(page_id,namespace,page_text); UPDATE {{TABLE_PREFIX}}users SET user_level=3 WHERE user_level=2; UPDATE {{TABLE_PREFIX}}sidebar SET block_content='[[$NS_USER$$USERNAME$|User page]]\n[[$NS_SPECIAL$Contributions/$USERNAME$|My Contributions]]\n{if user_logged_in}\n[[$NS_SPECIAL$Preferences|Preferences]]\n[[$NS_SPECIAL$PrivateMessages|Private messages]]\n[[$NS_SPECIAL$Usergroups|Group control panel]]\n$THEME_LINK$\n{/if}\n{if user_logged_in}\n$LOGOUT_LINK$\n{else}\n[[$NS_SPECIAL$Register|Create an account]]\n$LOGIN_LINK$\n[[$NS_SPECIAL$Login/$NS_SPECIAL$PrivateMessages|Private messages]]\n{/if}',block_name='$USERNAME$' WHERE ( block_name='$USERNAME' OR block_name='$USERNAME$' ) AND item_id=3;