1disable_query_log; 2 3CREATE DATABASE IF NOT EXISTS query_rewrite; 4 5CREATE TABLE IF NOT EXISTS query_rewrite.rewrite_rules ( 6 id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 7 pattern VARCHAR(10000) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, 8 pattern_database VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_bin, 9 replacement VARCHAR(10000) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, 10 enabled ENUM('YES', 'NO') CHARACTER SET utf8 COLLATE utf8_bin NOT NULL 11 DEFAULT 'YES', 12 message VARCHAR(1000) CHARACTER SET utf8 COLLATE utf8_bin 13) DEFAULT CHARSET = utf8 ENGINE = INNODB; 14 15eval INSTALL PLUGIN rewriter SONAME '$REWRITER'; 16eval CREATE FUNCTION load_rewrite_rules RETURNS STRING SONAME '$REWRITER'; 17 18DELIMITER //; 19 20CREATE PROCEDURE query_rewrite.flush_rewrite_rules() 21BEGIN 22 DECLARE message_text VARCHAR(100); 23 COMMIT; 24 SELECT load_rewrite_rules() INTO message_text; 25 RESET QUERY CACHE; 26 IF NOT message_text IS NULL THEN 27 SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = message_text; 28 END IF; 29END // 30 31DELIMITER ;// 32 33RESET QUERY CACHE; 34 35enable_query_log; 36echo # Query rewrite plugin was installed.; 37