Server IP : 172.67.216.182 / Your IP : 108.162.226.242 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/binlog/r/ |
Upload File : |
SET @save_session_debug= @@SESSION.debug; SET @@SESSION.debug = "+d,transaction_write_set_savepoint_level"; CREATE TABLE t1 (c1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2 (c1 INT NOT NULL PRIMARY KEY); CREATE TABLE t3 (c1 INT NOT NULL PRIMARY KEY); CREATE TABLE t4 (c1 INT NOT NULL PRIMARY KEY); CREATE TRIGGER t1_tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN SAVEPOINT S1; INSERT INTO t2 VALUES (NEW.c1); END| CREATE FUNCTION f1(x INT) RETURNS INT BEGIN INSERT INTO t2 VALUES (x); SAVEPOINT S1; INSERT INTO t1 VALUES (100); ROLLBACK TO S1; RETURN (1); END| BEGIN; SAVEPOINT S1; INSERT INTO t1 VALUES (1); ROLLBACK TO S1; SELECT f1(102); f1(102) 1 SET @@SESSION.debug = "+d,transaction_write_set_size_2"; SELECT f1(101); f1(101) 1 COMMIT; SET @@SESSION.debug= @save_session_debug; CREATE TRIGGER t3_tr1 AFTER INSERT ON t3 FOR EACH ROW BEGIN DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN ROLLBACK TO SAVEPOINT inside_trigger; INSERT INTO t4 VALUES (NEW.c1*20); END; SAVEPOINT inside_trigger; INSERT INTO t4 VALUES (NEW.c1); RELEASE SAVEPOINT inside_trigger; END| INSERT INTO t3 values (1); INSERT INTO t4 values (2); INSERT INTO t3 values (2); SELECT * FROM t1; SELECT * FROM t2; c1 101 c1 102 SELECT * FROM t3; c1 1 c1 2 SELECT * FROM t4; c1 1 c1 2 c1 40 include/assert.inc ['There are no values in table t1'] include/assert.inc ['There are 2 values in table t2'] include/assert.inc ['There are 2 values in table t3'] include/assert.inc ['There are 3 values in table t4'] DROP FUNCTION f1; DROP TABLE t1; DROP TABLE t2; DROP TABLE t3; DROP TABLE t4;