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