403Webshell
Server IP : 172.67.216.182  /  Your IP : 104.23.175.136
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/t/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/server/mysql/src/mysql-test/suite/query_rewrite_plugins/t/transactions.test
--echo #
--echo # Tests of touching the rules table from different transactions.
--echo #

--source suite/query_rewrite_plugins/include/have_plugin_rewriter.inc
--source suite/query_rewrite_plugins/include/install_rewriter.inc

SET autocommit = 0;
SELECT @@autocommit;

--connect (conn1, localhost, root, , test)

START TRANSACTION;

INSERT INTO query_rewrite.rewrite_rules ( pattern, replacement )
VALUES ( 'SELECT "Rewrite me conn 1"', 'SELECT "Rewritten conn 1 rule 1"' );

COMMIT;

--connect (conn2, localhost, root, , test)

START TRANSACTION;

INSERT INTO query_rewrite.rewrite_rules ( pattern, replacement )
VALUES ( 'SELECT "Rewrite me conn 2"', 'SELECT "Rewritten conn 2 rule 1"' );

COMMIT;

CALL query_rewrite.flush_rewrite_rules();
SELECT "Rewrite me conn 1";
SELECT "Rewrite me conn 2";

--connection conn1
CALL query_rewrite.flush_rewrite_rules();
SELECT "Rewrite me conn 1";
SELECT "Rewrite me conn 2";

--disconnect conn1
--disconnect conn2
--connection default

SELECT "Rewrite me conn 1";
SELECT "Rewrite me conn 2";

--echo # This would cause failed assertion unless the mdl locks are released.
--error ER_SP_DOES_NOT_EXIST
SELECT xxx(pattern) FROM query_rewrite.rewrite_rules;

--source suite/query_rewrite_plugins/include/uninstall_rewriter.inc
--source include/disconnect_connections.inc

--echo #
--echo # Now make sure that everything works as long we do as we're supposed
--echo # to, even with autocommit = 0.
--echo #
SET autocommit = 0;
SELECT @@autocommit;
--source suite/query_rewrite_plugins/include/install_rewriter.inc
START TRANSACTION;

INSERT INTO query_rewrite.rewrite_rules ( pattern, replacement )
VALUES ( 'SELECT "Rewrite me"', 'SELECT "Rewritten w/rule 1"' );

CALL query_rewrite.flush_rewrite_rules();
SELECT 'Rewrite me';
SHOW STATUS LIKE 'Rewriter_%';

--source suite/query_rewrite_plugins/include/uninstall_rewriter.inc
--source include/disconnect_connections.inc

--echo #
--echo # Now check that we don't fail even if @@autocommit is 0. In this case
--echo # InnoDB times out waiting for a lock, the plugin can't load the rules,
--echo # and we expect a message in the error log.
--echo #
SET autocommit = 0;
SELECT @@autocommit;
--source suite/query_rewrite_plugins/include/install_rewriter.inc

CALL mtr.add_suppression("Got error from storage engine while refreshing rewrite rules.");

--echo # This would cause failed assertion unless the mdl locks are released.
--error ER_SP_DOES_NOT_EXIST
SELECT xxx(pattern) FROM query_rewrite.rewrite_rules;

START TRANSACTION;

INSERT INTO query_rewrite.rewrite_rules ( pattern, replacement )
VALUES ( 'SELECT "Rewrite me"', 'SELECT "Rewritten w/rule 1"' );

SET @@global.innodb_lock_wait_timeout = 1;
SELECT load_rewrite_rules();
SET @@global.innodb_lock_wait_timeout = DEFAULT;

SELECT 'Rewrite me';
SHOW STATUS LIKE 'Rewriter_%';
COMMIT;
SELECT 'Rewrite me';
SHOW STATUS LIKE 'Rewriter_%';
SELECT load_rewrite_rules();
SELECT 'Rewrite me';
SHOW STATUS LIKE 'Rewriter_%';

--source suite/query_rewrite_plugins/include/uninstall_rewriter.inc
--source include/disconnect_connections.inc

--echo #
--echo # Now let's make sure that everything works fine if we run with
--echo # autocommit.
--echo #
SET autocommit = 1;
SELECT @@autocommit;
--source suite/query_rewrite_plugins/include/install_rewriter.inc

--echo # This would cause failed assertion unless the mdl locks are released.
--error ER_SP_DOES_NOT_EXIST
SELECT xxx(pattern) FROM query_rewrite.rewrite_rules;

START TRANSACTION;

INSERT INTO query_rewrite.rewrite_rules ( pattern, replacement )
VALUES ( 'SELECT "Rewrite me"', 'SELECT "Rewritten w/rule 1"' );

SET @@global.innodb_lock_wait_timeout = 1;
SELECT load_rewrite_rules();
SET @@global.innodb_lock_wait_timeout = DEFAULT;
SELECT 'Rewrite me';
COMMIT;
SELECT 'Rewrite me';
SELECT load_rewrite_rules();
SELECT 'Rewrite me';

SET autocommit = DEFAULT;

--source suite/query_rewrite_plugins/include/uninstall_rewriter.inc

Youez - 2016 - github.com/yon3zu
LinuXploit