Server IP : 104.21.38.3 / Your IP : 172.69.166.65 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/rpl/t/ |
Upload File : |
# # The purpose of this test is to verify the correct functionality of # the before_dml hook. # # If the hook is not executed by any reason, this test must fail. # # --source include/not_embedded.inc --source include/not_group_replication_plugin.inc --source include/have_debug.inc --source include/have_log_bin.inc --source include/have_binlog_format_mixed.inc --source include/have_replication_observers_example_plugin.inc --source include/install_replication_observers_example.inc --echo # --echo # Verify that the DML hook is in place and working --echo # CREATE TABLE t2 (c1 char(50) NOT NULL PRIMARY KEY) ENGINE=InnoDB; CREATE TABLE tn (cn char(50) NOT NULL PRIMARY KEY) ENGINE=InnoDB; SET @debug_saved= @@GLOBAL.DEBUG; SET @@GLOBAL.DEBUG= '+d,cause_failure_in_before_dml_hook'; #Test the INSERT instruction --error ER_BEFORE_DML_VALIDATION_ERROR --eval INSERT INTO t2 VALUES('a') #Test the UPDATE instruction --error ER_BEFORE_DML_VALIDATION_ERROR --eval UPDATE t2 SET c1 = 'a' #Test the INSERT...SELECT instruction --error ER_BEFORE_DML_VALIDATION_ERROR --eval INSERT INTO t2 (c1) SELECT tn.cn FROM tn #Test the DELETE instruction --error ER_BEFORE_DML_VALIDATION_ERROR --eval DELETE FROM t2 #Test the load instruction --error ER_BEFORE_DML_VALIDATION_ERROR --eval LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE t2 #Test the REPLACE instruction --error ER_BEFORE_DML_VALIDATION_ERROR --eval REPLACE INTO t2 VALUES('a') #Test the REPLACE...SELECT instruction --error ER_BEFORE_DML_VALIDATION_ERROR --eval REPLACE INTO t2 (c1) SELECT tn.cn FROM tn #Test the DELETE_MULTI instruction --error ER_BEFORE_DML_VALIDATION_ERROR --eval DELETE t2, tn FROM t2, tn #Test the UPDATE_MULTI instruction --error ER_BEFORE_DML_VALIDATION_ERROR --eval UPDATE t2, tn SET c1 = 'a' --echo # --echo # Cleanup --echo # SET @@GLOBAL.DEBUG= @debug_saved; DROP TABLE t2; DROP TABLE tn; --source include/uninstall_replication_observers_example.inc --echo End of test