Server IP : 172.67.216.182 / Your IP : 162.158.106.35 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /www/server/mysql/src/mysql-test/suite/query_rewrite_plugins/r/ |
Upload File : |
# # Reinstalls the plugin while keeping the rules table. # CREATE TABLE t1 ( c1 VARCHAR(10), c2 VARCHAR(10) ); INSERT INTO t1 VALUES ( 'abc', 'def' ), ( 'ghi', 'klm' ), ( 'nop', 'qrs' ); CREATE TABLE t2 ( c1 VARCHAR(10) ); INSERT INTO t2 VALUES ( 'abc' ), ( 'klm' ); Warnings: Warning 1681 'RESET QUERY CACHE' is deprecated and will be removed in a future release. Warnings: Warning 1681 'RESET QUERY CACHE' is deprecated and will be removed in a future release. # Query rewrite plugin was installed. # Insert some rewrite rules in the plugin INSERT INTO query_rewrite.rewrite_rules ( pattern, replacement ) VALUES ( 'SELECT * FROM test.t2', 'SELECT * FROM test.t1 JOIN test.t2 ON test.t1.c1 = test.t2.c1' ); CALL query_rewrite.flush_rewrite_rules(); Warnings: Warning 1681 'RESET QUERY CACHE' is deprecated and will be removed in a future release. # Check a query that doesn't have a rewrite rule doesn't get rewritten. SELECT c2 FROM test.t1; c2 def klm qrs # Check that we can execute a rewrite rule. SELECT * FROM test.t2; c1 c2 c1 abc def abc Warnings: Note 1105 Query 'SELECT * FROM test.t2' rewritten to 'SELECT * FROM test.t1 JOIN test.t2 ON test.t1.c1 = test.t2.c1' by a query rewrite plugin DROP PROCEDURE query_rewrite.flush_rewrite_rules; DROP FUNCTION load_rewrite_rules; UNINSTALL PLUGIN rewriter; Warnings: Warning 1620 Plugin is busy and will be uninstalled on shutdown # Check that the table is still present and didn't get dropped. SELECT pattern, replacement FROM query_rewrite.rewrite_rules; pattern replacement SELECT * FROM test.t2 SELECT * FROM test.t1 JOIN test.t2 ON test.t1.c1 = test.t2.c1 # Check that when the plugin is inactive the queries don't get rewritten. SELECT * FROM test.t2; c1 abc klm # Reinstall the plugin. All the rules should still be here from the # previous installation. Warnings: Note 1007 Can't create database 'query_rewrite'; database exists Warnings: Note 1050 Table 'rewrite_rules' already exists Warnings: Warning 1681 'RESET QUERY CACHE' is deprecated and will be removed in a future release. Warnings: Warning 1681 'RESET QUERY CACHE' is deprecated and will be removed in a future release. # Query rewrite plugin was installed. # Check that a query that doesn't have a rewrite rule doesn't get # rewritten. SELECT c2 FROM test.t1; c2 def klm qrs # Check that we can still execute a rewrite rule. SELECT * FROM test.t2; c1 c2 c1 abc def abc Warnings: Note 1105 Query 'SELECT * FROM test.t2' rewritten to 'SELECT * FROM test.t1 JOIN test.t2 ON test.t1.c1 = test.t2.c1' by a query rewrite plugin DROP TABLE t1, t2; Warnings: Warning 1620 Plugin is busy and will be uninstalled on shutdown # Query rewrite plugin was queued for uninstalling.