Merge 10.3 into 10.4

This commit is contained in:
Marko Mäkelä 2020-07-31 18:09:08 +03:00
commit 9216114ce7
125 changed files with 1970 additions and 949 deletions

View File

@ -252,12 +252,6 @@ my_bool innobase_locks_unsafe_for_binlog;
my_bool innobase_rollback_on_timeout;
my_bool innobase_create_status_file;
/* The following counter is used to convey information to InnoDB
about server activity: in selects it is not sensible to call
srv_active_wake_master_thread after each fetch or search, we only do
it every INNOBASE_WAKE_INTERVAL'th step. */
#define INNOBASE_WAKE_INTERVAL 32
ulong innobase_active_counter = 0;
#ifndef _WIN32

View File

@ -109,9 +109,7 @@ my_bool vio_peer_addr(Vio *vio, char *buf, uint16 *port, size_t buflen);
/* Wait for an I/O event notification. */
int vio_io_wait(Vio *vio, enum enum_vio_io_event event, int timeout);
my_bool vio_is_connected(Vio *vio);
#ifndef DBUG_OFF
ssize_t vio_pending(Vio *vio);
#endif
/* Set timeout for a network operation. */
extern int vio_timeout(Vio *vio, uint which, int timeout_sec);
extern void vio_set_wait_callback(void (*before_wait)(void),

View File

@ -80,7 +80,7 @@ while (<F>) {
s/table id \d+/table id #/;
s/mapped to number \d+/mapped to number #/;
s/CRC32 0x[0-9a-f]+/CRC32 0x########/;
print if /\b(GTID|BEGIN|COMMIT|Table_map|Write_rows|Update_rows|Delete_rows|generated by server|40005 TEMPORARY)\b/;
print if /\b(GTID|START TRANSACTION|COMMIT|Table_map|Write_rows|Update_rows|Delete_rows|generated by server|40005 TEMPORARY)\b/;
}
close F;
EOF

View File

@ -17,3 +17,4 @@ mysql_embedded : Bug#12561297 2011-05-14 Anitha Dependent on PB2 chang
file_contents : MDEV-6526 these files are not installed anymore
max_statement_time : cannot possibly work, depends on timing
partition_open_files_limit : open_files_limit check broken by MDEV-18360
main.upgrade_MDEV-19650 : MDEV-23358 fails with result difference

View File

@ -0,0 +1 @@
--thread-handling=pool-of-threads

View File

@ -0,0 +1,43 @@
SELECT
@@global.wait_timeout, @@global.thread_pool_max_threads, @@global.thread_pool_size,
@@global.thread_pool_oversubscribe, @@global.thread_pool_stall_limit
INTO
@_wait_timeout,@_thread_pool_max_threads,@_thread_pool_size,
@_thread_pool_oversubscribe,@_thread_pool_stall_limit;
SET @@global.wait_timeout=1,
@@global.thread_pool_max_threads=2,
@@global.thread_pool_size=1,
@@global.thread_pool_oversubscribe=1,
@@global.thread_pool_stall_limit=10;
connect c1, localhost, root,,;
connect c2, localhost, root,,;
connect c3, localhost, root,,;
connection c1;
select sleep(1.1);
connection c2;
select sleep(1.1);
connection c3;
select sleep(1.1);
connection default;
select sleep(1.1);
connection c1;
sleep(1.1)
0
connection c2;
sleep(1.1)
0
connection c3;
sleep(1.1)
0
connection default;
sleep(1.1)
0
disconnect c1;
disconnect c2;
disconnect c3;
connection default;
SET @@global.wait_timeout=@_wait_timeout,
@@global.thread_pool_max_threads=@_thread_pool_max_threads,
@@global.thread_pool_size=@_thread_pool_size,
@@global.thread_pool_oversubscribe=@_thread_pool_oversubscribe,
@@global.thread_pool_stall_limit=@_thread_pool_stall_limit;

View File

@ -0,0 +1,54 @@
--source include/not_embedded.inc
# Test that wait_timeout does not cause connection to be closed, when connection is delayed due to
# threadpool internal problems, e.g misconfiguration - too few threads and queueing.
# So if client did not cause wait_timeout, do not report it either.
# See MDEV-21101 for details.
# Intentionally misconfigure threadpool to have at most 1 or 2 threads (
# depends on the implementation). Use minimal wait_timeout, do some slow queries from
# different connections simultaneously, to force queueing occurs.
# Verify connections are intact, even if queueing time exceeds wait_timeout
SELECT
@@global.wait_timeout, @@global.thread_pool_max_threads, @@global.thread_pool_size,
@@global.thread_pool_oversubscribe, @@global.thread_pool_stall_limit
INTO
@_wait_timeout,@_thread_pool_max_threads,@_thread_pool_size,
@_thread_pool_oversubscribe,@_thread_pool_stall_limit;
SET @@global.wait_timeout=1,
@@global.thread_pool_max_threads=2,
@@global.thread_pool_size=1,
@@global.thread_pool_oversubscribe=1,
@@global.thread_pool_stall_limit=10;
--connect (c1, localhost, root,,)
--connect (c2, localhost, root,,)
--connect (c3, localhost, root,,)
--connection c1
--send select sleep(1.1)
--connection c2
--send select sleep(1.1)
--connection c3
--send select sleep(1.1)
--connection default
--send select sleep(1.1)
--connection c1
--reap
--connection c2
--reap
--connection c3
--reap
--connection default
--reap
--disconnect c1
--disconnect c2
--disconnect c3
--connection default
SET @@global.wait_timeout=@_wait_timeout,
@@global.thread_pool_max_threads=@_thread_pool_max_threads,
@@global.thread_pool_size=@_thread_pool_size,
@@global.thread_pool_oversubscribe=@_thread_pool_oversubscribe,
@@global.thread_pool_stall_limit=@_thread_pool_stall_limit;

View File

@ -24,7 +24,7 @@ FLUSH LOGS;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@ -39,7 +39,7 @@ SET @@session.collation_database=DEFAULT/*!*/;
INSERT INTO t1 VALUES (1)
/*!*/;
COMMIT/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
INSERT INTO t1 VALUES (2)
@ -55,7 +55,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
use `foo`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@ -70,7 +70,7 @@ SET @@session.collation_database=DEFAULT/*!*/;
INSERT INTO t1 VALUES (1)
/*!*/;
COMMIT/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
INSERT INTO t1 VALUES (2)

View File

@ -37,7 +37,7 @@ create table t1 (word varchar(20))
SET TIMESTAMP=1000000000/*!*/;
create table t2 (id int auto_increment not null primary key)
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
insert into t1 values ("abirvalg")
@ -45,7 +45,7 @@ insert into t1 values ("abirvalg")
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@ -54,7 +54,7 @@ insert into t2 values ()
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
@ -62,7 +62,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
@ -70,7 +70,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
@ -78,7 +78,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
@ -97,7 +97,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@ -114,7 +114,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
insert into t1 values ("Alas")
@ -134,7 +134,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
@ -147,28 +147,28 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
@ -184,7 +184,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@ -231,7 +231,7 @@ create table t1 (word varchar(20))
SET TIMESTAMP=1000000000/*!*/;
create table t2 (id int auto_increment not null primary key)
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
insert into t1 values ("abirvalg")
@ -239,7 +239,7 @@ insert into t1 values ("abirvalg")
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@ -248,7 +248,7 @@ insert into t2 values ()
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
@ -256,7 +256,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
@ -264,7 +264,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
@ -272,7 +272,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
@ -291,7 +291,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@ -308,7 +308,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
insert into t1 values ("Alas")
@ -328,7 +328,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
@ -341,28 +341,28 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
@ -378,7 +378,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@ -553,7 +553,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a varchar(64) character set utf8)
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
@ -561,7 +561,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.collation_database=7/*!*/;
@ -570,7 +570,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
@ -579,7 +579,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
@ -587,7 +587,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.collation_database=7/*!*/;
@ -596,7 +596,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
@ -605,7 +605,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` CHARACTER SET koi8r FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)

View File

@ -53,7 +53,7 @@ CREATE TABLE t2 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 INT, f4 INT, f5 MEDIUMIN
# at 727
#<date> server id 1 end_log_pos 769 CRC32 XXX GTID 0-1-3
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 769
# at 843
@ -82,7 +82,7 @@ COMMIT
# at 1040
#<date> server id 1 end_log_pos 1082 CRC32 XXX GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1082
# at 1158
@ -111,7 +111,7 @@ COMMIT
# at 1354
#<date> server id 1 end_log_pos 1396 CRC32 XXX GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1396
# at 1474
@ -140,7 +140,7 @@ COMMIT
# at 1669
#<date> server id 1 end_log_pos 1711 CRC32 XXX GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1711
# at 1786
@ -169,7 +169,7 @@ COMMIT
# at 1982
#<date> server id 1 end_log_pos 2024 CRC32 XXX GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 2024
# at 2078
@ -231,7 +231,7 @@ COMMIT
# at 2298
#<date> server id 1 end_log_pos 2340 CRC32 XXX GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 2340
# at 2406
@ -312,7 +312,7 @@ COMMIT
# at 2634
#<date> server id 1 end_log_pos 2676 CRC32 XXX GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 2676
# at 2713
@ -374,7 +374,7 @@ COMMIT
# at 2934
#<date> server id 1 end_log_pos 2976 CRC32 XXX GTID 0-1-10
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 2976
# at 3013

View File

@ -51,7 +51,7 @@ CREATE TABLE t2 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 INT, f4 INT, f5 MEDIUMIN
# at 774
#<date> server id 1 end_log_pos 816 CRC32 XXX GTID 0-1-3
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 816
# at 890
@ -80,7 +80,7 @@ COMMIT
# at 1088
#<date> server id 1 end_log_pos 1130 CRC32 XXX GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1130
# at 1206
@ -109,7 +109,7 @@ COMMIT
# at 1403
#<date> server id 1 end_log_pos 1445 CRC32 XXX GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1445
# at 1523
@ -138,7 +138,7 @@ COMMIT
# at 1719
#<date> server id 1 end_log_pos 1761 CRC32 XXX GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1761
# at 1836
@ -167,7 +167,7 @@ COMMIT
# at 2035
#<date> server id 1 end_log_pos 2077 CRC32 XXX GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 2077
# at 2131
@ -229,7 +229,7 @@ COMMIT
# at 2427
#<date> server id 1 end_log_pos 2469 CRC32 XXX GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 2469
# at 2535
@ -262,7 +262,7 @@ COMMIT
# at 2730
#<date> server id 1 end_log_pos 2772 CRC32 XXX GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 2772
# at 2809
@ -292,7 +292,7 @@ COMMIT
# at 2992
#<date> server id 1 end_log_pos 3034 CRC32 XXX GTID 0-1-10
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 3034
# at 3071
@ -357,7 +357,7 @@ DELIMITER /*!*/;
/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=16*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 429
# at 543

View File

@ -53,7 +53,7 @@ CREATE TABLE t2 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 INT, f4 INT, f5 MEDIUMIN
# at 727
#<date> server id 1 end_log_pos 769 CRC32 XXX GTID 0-1-3
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 769
#<date> server id 1 end_log_pos 897 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
@ -68,7 +68,7 @@ COMMIT
# at 970
#<date> server id 1 end_log_pos 1012 CRC32 XXX GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1012
#<date> server id 1 end_log_pos 1140 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
@ -83,7 +83,7 @@ COMMIT
# at 1213
#<date> server id 1 end_log_pos 1255 CRC32 XXX GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1255
#<date> server id 1 end_log_pos 1385 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
@ -98,7 +98,7 @@ COMMIT
# at 1458
#<date> server id 1 end_log_pos 1500 CRC32 XXX GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1500
#<date> server id 1 end_log_pos 1627 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
@ -113,7 +113,7 @@ COMMIT
# at 1700
#<date> server id 1 end_log_pos 1742 CRC32 XXX GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1742
#<date> server id 1 end_log_pos 1850 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
@ -128,7 +128,7 @@ COMMIT
# at 1923
#<date> server id 1 end_log_pos 1965 CRC32 XXX GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1965
#<date> server id 1 end_log_pos 2082 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
@ -143,7 +143,7 @@ COMMIT
# at 2155
#<date> server id 1 end_log_pos 2197 CRC32 XXX GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 2197
#<date> server id 1 end_log_pos 2288 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
@ -158,7 +158,7 @@ COMMIT
# at 2361
#<date> server id 1 end_log_pos 2403 CRC32 XXX GTID 0-1-10
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 2403
#<date> server id 1 end_log_pos 2494 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0

View File

@ -45,3 +45,15 @@ Warning 1681 'engine_condition_pushdown=on' is deprecated and will be removed in
set @@optimizer_switch=@save_optimizer_switch;
SET @@session.session_track_system_variables= @save_session_track_system_variables;
# End of 10.2 tests
#
# MDEV-22134 handle_fatal_signal (sig=11) in __strlen_avx2 on START
# SLAVE | Assertion
# `global_system_variables.session_track_system_variables' failed in
# Session_sysvars_tracker::init | *** buffer overflow detected ***
# (on optimized builds)
#
SET @@GLOBAL.session_track_system_variables=NULL;
ERROR 42000: Variable 'session_track_system_variables' can't be set to the value of 'NULL'
SET SESSION session_track_system_variables=NULL;
ERROR 42000: Variable 'session_track_system_variables' can't be set to the value of 'NULL'
# End of 10.3 tests

View File

@ -45,3 +45,18 @@ set @@optimizer_switch=@save_optimizer_switch;
SET @@session.session_track_system_variables= @save_session_track_system_variables;
--echo # End of 10.2 tests
--echo #
--echo # MDEV-22134 handle_fatal_signal (sig=11) in __strlen_avx2 on START
--echo # SLAVE | Assertion
--echo # `global_system_variables.session_track_system_variables' failed in
--echo # Session_sysvars_tracker::init | *** buffer overflow detected ***
--echo # (on optimized builds)
--echo #
--error ER_WRONG_VALUE_FOR_VAR
SET @@GLOBAL.session_track_system_variables=NULL;
--error ER_WRONG_VALUE_FOR_VAR
SET SESSION session_track_system_variables=NULL;
--echo # End of 10.3 tests

View File

@ -342,6 +342,19 @@ ERROR 42S02: Table 'test.t1' doesn't exist
DROP TABLE t1;
# End of 10.1 test
#
# MDEV-21258: Can't uninstall plugin if the library file doesn't exist
#
insert into mysql.plugin values ("unexisting_plugin", "soname");
select * from mysql.plugin WHERE name='unexisting_plugin';
name dl
unexisting_plugin soname
UNINSTALL PLUGIN unexisting_plugin;
select * from mysql.plugin WHERE name='unexisting_plugin';
name dl
UNINSTALL PLUGIN unexisting_plugin;
ERROR 42000: PLUGIN unexisting_plugin does not exist
# End of 10.2 tests
#
# MDEV-16294: INSTALL PLUGIN IF NOT EXISTS / UNINSTALL PLUGIN IF EXISTS
#
# INSTALL IF NOT EXISTS PLUGIN name SONAME library /
@ -403,3 +416,4 @@ INSTALL PLUGIN example SONAME 'ha_example';
CREATE TEMPORARY TABLE t1(a INT) ENGINE=example;
DROP TABLE t1;
UNINSTALL PLUGIN example;
# End of 10.4 tests

View File

@ -277,8 +277,27 @@ DROP TABLE t1;
--echo # End of 10.1 test
--source include/install_plugin_if_exists.inc
--echo #
--echo # MDEV-21258: Can't uninstall plugin if the library file doesn't exist
--echo #
insert into mysql.plugin values ("unexisting_plugin", "soname");
# check that we have the plugin installed
select * from mysql.plugin WHERE name='unexisting_plugin';
# make attempt to uninstall the plugin
UNINSTALL PLUGIN unexisting_plugin;
# check that we have the plugin uninstalled
select * from mysql.plugin WHERE name='unexisting_plugin';
--error ER_SP_DOES_NOT_EXIST
UNINSTALL PLUGIN unexisting_plugin;
--echo # End of 10.2 tests
--source include/install_plugin_if_exists.inc
--echo #
--echo # Make sure temporary tables maintain plugin references properly
@ -294,3 +313,5 @@ INSTALL PLUGIN example SONAME 'ha_example';
CREATE TEMPORARY TABLE t1(a INT) ENGINE=example;
DROP TABLE t1;
UNINSTALL PLUGIN example;
--echo # End of 10.4 tests

View File

@ -23,7 +23,7 @@ flush logs;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET @`a b`:=_latin1 X'68656C6C6F' COLLATE `latin1_swedish_ci`/*!*/;
use `test`/*!*/;
@ -41,7 +41,7 @@ INSERT INTO t1 VALUES(@`a b`)
SET TIMESTAMP=10000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET @`var1`:=_latin1 X'273B616161' COLLATE `latin1_swedish_ci`/*!*/;
SET @`var2`:=_binary X'61' COLLATE `binary`/*!*/;

View File

@ -3843,6 +3843,13 @@ ROW_NUMBER() OVER w2
5
DROP TABLE t1;
#
# MDEV-18916: crash in Window_spec::print_partition() with decimals
#
SELECT cast((rank() over w1) as decimal (53,56));
ERROR 42000: Too big scale 56 specified for 'rank() over w1'. Maximum is 38
SELECT cast((rank() over w1) as decimal (53,30));
ERROR HY000: Window specification with name 'w1' is not defined
#
# End of 10.2 tests
#
#

View File

@ -2497,6 +2497,15 @@ SELECT a,b FROM t1 WINDOW w2 AS (PARTITION BY -1,1,0,2,3,4);
SELECT ROW_NUMBER() OVER w2 FROM t1 WINDOW w2 AS (PARTITION BY -1,0,1,2,3,4,5,6);
DROP TABLE t1;
--echo #
--echo # MDEV-18916: crash in Window_spec::print_partition() with decimals
--echo #
--error ER_TOO_BIG_SCALE
SELECT cast((rank() over w1) as decimal (53,56));
--error ER_WRONG_WINDOW_SPEC_NAME
SELECT cast((rank() over w1) as decimal (53,30));
--echo #
--echo # End of 10.2 tests
--echo #

View File

@ -433,3 +433,81 @@ ntile((select a from t1)) over (partition by b order by pk)
from t1;
ERROR 21000: Subquery returns more than 1 row
drop table t1;
#
# MDEV-9911 NTILE must return an error when parameter is not stable
#
create table t1 (
pk int primary key,
c1 nvarchar(10),
c2 nvarchar(10),
c3 int
);
insert into t1 values
(1, 'Mark', 'Male', 5),
(2, 'John', 'Male', 5),
(3, 'Pam', 'Female', 6),
(4, 'Sara', 'Female', 6),
(5, 'Todd', 'Male', 5),
(6, 'Mary', 'Female', 6),
(7, 'Ben', 'Male', 5),
(8, 'Jodi', 'Female', 6),
(9, 'Tom', 'Male', 5),
(10, 'Lucky', 'Male', 5),
(11, 'Mark', 'Male', 5),
(12, 'John', 'Male', 5),
(13, 'Pam', 'Female', 6),
(14, 'Sara', 'Female', 6),
(15, 'Todd', 'Male', 5),
(16, 'Mary', 'Female', 6),
(17, 'Ben', 'Male', 5),
(18, 'Jodi', 'Female', 6),
(19, 'Tom', 'Male', 5),
(20, 'Lucky', 'Male', 5);
select c1, c2, c3, ntile(6) over (partition by c2 order by pk) from t1;
c1 c2 c3 ntile(6) over (partition by c2 order by pk)
Pam Female 6 1
Sara Female 6 1
Mary Female 6 2
Jodi Female 6 2
Pam Female 6 3
Sara Female 6 4
Mary Female 6 5
Jodi Female 6 6
Mark Male 5 1
John Male 5 1
Todd Male 5 2
Ben Male 5 2
Tom Male 5 3
Lucky Male 5 3
Mark Male 5 4
John Male 5 4
Todd Male 5 5
Ben Male 5 5
Tom Male 5 6
Lucky Male 5 6
select c1, c2, c3, ntile(c3) over (partition by c2 order by pk) from t1;
c1 c2 c3 ntile(c3) over (partition by c2 order by pk)
Pam Female 6 1
Sara Female 6 1
Mary Female 6 2
Jodi Female 6 2
Pam Female 6 3
Sara Female 6 4
Mary Female 6 5
Jodi Female 6 6
Mark Male 5 1
John Male 5 1
Todd Male 5 1
Ben Male 5 2
Tom Male 5 2
Lucky Male 5 2
Mark Male 5 3
John Male 5 3
Todd Male 5 4
Ben Male 5 4
Tom Male 5 5
Lucky Male 5 5
update t1 set c3= 1 where pk = 1;
select c1, c2, c3, ntile(c3) over (partition by c2 order by pk) from t1;
ERROR HY000: Argument of NTILE must be greater than 0
drop table t1;

View File

@ -168,4 +168,47 @@ select pk, a, b,
from t1;
drop table t1;
--echo #
--echo # MDEV-9911 NTILE must return an error when parameter is not stable
--echo #
create table t1 (
pk int primary key,
c1 nvarchar(10),
c2 nvarchar(10),
c3 int
);
insert into t1 values
(1, 'Mark', 'Male', 5),
(2, 'John', 'Male', 5),
(3, 'Pam', 'Female', 6),
(4, 'Sara', 'Female', 6),
(5, 'Todd', 'Male', 5),
(6, 'Mary', 'Female', 6),
(7, 'Ben', 'Male', 5),
(8, 'Jodi', 'Female', 6),
(9, 'Tom', 'Male', 5),
(10, 'Lucky', 'Male', 5),
(11, 'Mark', 'Male', 5),
(12, 'John', 'Male', 5),
(13, 'Pam', 'Female', 6),
(14, 'Sara', 'Female', 6),
(15, 'Todd', 'Male', 5),
(16, 'Mary', 'Female', 6),
(17, 'Ben', 'Male', 5),
(18, 'Jodi', 'Female', 6),
(19, 'Tom', 'Male', 5),
(20, 'Lucky', 'Male', 5);
# Correct usage of NTILE with a fix argument NTILE(6).
select c1, c2, c3, ntile(6) over (partition by c2 order by pk) from t1;
# Correct usage - constant NTILE (argument) in each partition.
select c1, c2, c3, ntile(c3) over (partition by c2 order by pk) from t1;
update t1 set c3= 1 where pk = 1;
--error ER_INVALID_NTILE_ARGUMENT
select c1, c2, c3, ntile(c3) over (partition by c2 order by pk) from t1;
drop table t1;

View File

@ -34,7 +34,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -43,7 +43,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -52,7 +52,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -61,7 +61,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -70,7 +70,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -91,7 +91,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
use `test`/*!*/;
@ -109,7 +109,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -118,7 +118,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -127,7 +127,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -136,7 +136,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -157,7 +157,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -175,7 +175,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -184,7 +184,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -217,7 +217,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -226,7 +226,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -247,7 +247,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -274,7 +274,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -292,7 +292,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -301,7 +301,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -334,7 +334,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -343,7 +343,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -377,7 +377,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -386,7 +386,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -395,7 +395,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -404,7 +404,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -413,7 +413,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -424,7 +424,7 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
@ -454,7 +454,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
use `test`/*!*/;
@ -472,7 +472,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -481,7 +481,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -490,7 +490,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -499,7 +499,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -510,7 +510,7 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
@ -540,7 +540,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -558,7 +558,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -567,7 +567,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -578,7 +578,7 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
@ -620,7 +620,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -629,7 +629,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -638,7 +638,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -647,7 +647,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -656,7 +656,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -667,7 +667,7 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
DELIMITER ;
# End of log file
@ -681,7 +681,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -699,7 +699,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -708,7 +708,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -719,7 +719,7 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
@ -761,7 +761,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -770,7 +770,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -803,7 +803,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -812,7 +812,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -821,7 +821,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -830,7 +830,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -839,7 +839,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -860,7 +860,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
use `test`/*!*/;
@ -878,7 +878,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -887,7 +887,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -896,7 +896,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -905,7 +905,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -925,7 +925,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -943,7 +943,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -952,7 +952,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -985,7 +985,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -994,7 +994,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1014,7 +1014,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -1041,7 +1041,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -1059,7 +1059,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1068,7 +1068,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1101,7 +1101,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1110,7 +1110,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1143,7 +1143,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1152,7 +1152,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1161,7 +1161,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -1170,7 +1170,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1179,7 +1179,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1190,7 +1190,7 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
@ -1220,7 +1220,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
use `test`/*!*/;
@ -1238,7 +1238,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1247,7 +1247,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -1256,7 +1256,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1265,7 +1265,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1276,7 +1276,7 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
@ -1305,7 +1305,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -1323,7 +1323,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1332,7 +1332,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1343,7 +1343,7 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
@ -1385,7 +1385,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1394,7 +1394,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1403,7 +1403,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -1412,7 +1412,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1421,7 +1421,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1444,7 +1444,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -1462,7 +1462,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1471,7 +1471,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1482,7 +1482,7 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
@ -1524,7 +1524,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1533,7 +1533,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1566,7 +1566,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1575,7 +1575,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1584,7 +1584,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -1593,7 +1593,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1602,7 +1602,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1611,7 +1611,7 @@ insert into t1 values(null, "e")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=6/*!*/;
SET TIMESTAMP=1773143/*!*/;

File diff suppressed because it is too large Load Diff

View File

@ -2368,7 +2368,7 @@ crn INT -- row number
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-2 trans
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -2550,7 +2550,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-3 trans
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -2732,7 +2732,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-4 trans
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -3080,7 +3080,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-5 trans
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -3420,7 +3420,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-6 trans
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -3765,7 +3765,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-7 trans
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -4108,7 +4108,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-8 trans
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -4454,7 +4454,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-9 trans
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -4634,7 +4634,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-10 trans
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -4811,7 +4811,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-11 trans
/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -4991,7 +4991,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-12 trans
/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5293,7 +5293,7 @@ crn INT -- row number
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-2 trans
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5363,7 +5363,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-3 trans
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5442,7 +5442,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-4 trans
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5717,7 +5717,7 @@ c_3_n INT -- row number
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-4 trans
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5787,7 +5787,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-5 trans
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5857,7 +5857,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-6 trans
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5927,7 +5927,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-7 trans
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -6117,7 +6117,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-8 trans
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -6331,7 +6331,7 @@ c3 VARCHAR(60)
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-2 trans
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #

View File

@ -2368,7 +2368,7 @@ crn INT -- row number
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-2
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -2553,7 +2553,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-3
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -2737,7 +2737,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -3087,7 +3087,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -3429,7 +3429,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -3776,7 +3776,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -4121,7 +4121,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -4469,7 +4469,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -4651,7 +4651,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-10
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -4830,7 +4830,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-11
/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5012,7 +5012,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-12
/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5316,7 +5316,7 @@ crn INT -- row number
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-2
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5388,7 +5388,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-3
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5469,7 +5469,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5746,7 +5746,7 @@ c_3_n INT -- row number
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5818,7 +5818,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5890,7 +5890,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5962,7 +5962,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -6154,7 +6154,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -6370,7 +6370,7 @@ c3 VARCHAR(60)
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-2
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #

View File

@ -172,7 +172,7 @@ c2 VARCHAR(20)
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-3 trans
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -257,7 +257,7 @@ TRUNCATE TABLE t1
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -287,7 +287,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -326,7 +326,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -348,7 +348,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-9 trans
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -433,7 +433,7 @@ TRUNCATE TABLE t2
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-12
/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -463,7 +463,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-13
/*!100001 SET @@session.gtid_seq_no=13*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -502,7 +502,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-14
/*!100001 SET @@session.gtid_seq_no=14*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #

View File

@ -38,13 +38,13 @@ disconnect tmp_con;
connection default;
FLUSH LOGS;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
#Q> /* GTID */ INSERT INTO t1 VALUES (1,0)
# server id 1 end_log_pos # CRC32 0x######## Table_map: `test`.`t1` mapped to number #
# server id 1 end_log_pos # CRC32 0x######## Write_rows: table id # flags: STMT_END_F
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
#Q> /* GTID */ INSERT INTO t1 VALUES (2,0)
# server id 1 end_log_pos # CRC32 0x######## Table_map: `test`.`t1` mapped to number #
# server id 1 end_log_pos # CRC32 0x######## Write_rows: table id # flags: STMT_END_F
@ -52,13 +52,13 @@ COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# ddl
/* GTID */ ALTER TABLE t1 ADD c INT
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
#Q> /* GTID */ INSERT INTO t1 VALUES (3,0,0)
# server id 1 end_log_pos # CRC32 0x######## Table_map: `test`.`t1` mapped to number #
# server id 1 end_log_pos # CRC32 0x######## Write_rows: table id # flags: STMT_END_F
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
#Q> /* GTID */ UPDATE t1 SET b=1, c=1 WHERE a=2
# server id 1 end_log_pos # CRC32 0x######## Table_map: `test`.`t1` mapped to number #
# server id 1 end_log_pos # CRC32 0x######## Update_rows: table id # flags: STMT_END_F
@ -70,7 +70,7 @@ BEGIN
# server id 1 end_log_pos # CRC32 0x######## Write_rows: table id # flags: STMT_END_F
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
#Q> /* GTID */ DELETE FROM t1 WHERE a=5
# server id 1 end_log_pos # CRC32 0x######## Table_map: `test`.`t1` mapped to number #
# server id 1 end_log_pos # CRC32 0x######## Delete_rows: table id # flags: STMT_END_F
@ -82,25 +82,25 @@ BEGIN
# server id 1 end_log_pos # CRC32 0x######## Update_rows: table id # flags: STMT_END_F
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
#Q> /* GTID */ INSERT INTO t1 VALUES (8, 5, 0)
# server id 1 end_log_pos # CRC32 0x######## Table_map: `test`.`t1` mapped to number #
# server id 1 end_log_pos # CRC32 0x######## Write_rows: table id # flags: STMT_END_F
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
#Q> /* GTID */ INSERT INTO t1 VALUES (9, 5, 1)
# server id 1 end_log_pos # CRC32 0x######## Table_map: `test`.`t1` mapped to number #
# server id 1 end_log_pos # CRC32 0x######## Write_rows: table id # flags: STMT_END_F
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
#Q> /* GTID */ INSERT INTO t1 VALUES (10, 6, 0)
# server id 1 end_log_pos # CRC32 0x######## Table_map: `test`.`t1` mapped to number #
# server id 1 end_log_pos # CRC32 0x######## Write_rows: table id # flags: STMT_END_F
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
#Q> /* GTID */ INSERT INTO t1 VALUES (11, 7, 0)
# server id 1 end_log_pos # CRC32 0x######## Table_map: `test`.`t1` mapped to number #
# server id 1 end_log_pos # CRC32 0x######## Write_rows: table id # flags: STMT_END_F

View File

@ -38,21 +38,21 @@ disconnect tmp_con;
connection default;
FLUSH LOGS;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
/* GTID */ INSERT INTO t1 VALUES (1,0)
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
/* GTID */ INSERT INTO t1 VALUES (2,0)
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# ddl
/* GTID */ ALTER TABLE t1 ADD c INT
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
/* GTID */ INSERT INTO t1 VALUES (3,0,0)
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# ddl
BEGIN
START TRANSACTION
/* GTID */ UPDATE t1 SET b=1, c=1 WHERE a=2
/* GTID */ CREATE TEMPORARY TABLE t2 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB
/* GTID */ INSERT INTO t2 VALUES (4,10), (5,20)
@ -63,7 +63,7 @@ COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# ddl
/* GTID */ CREATE TEMPORARY TABLE t3 (a INT PRIMARY KEY) ENGINE=InnoDB
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# ddl
BEGIN
START TRANSACTION
/* GTID */ DELETE FROM t1 WHERE a=5
/* GTID */ INSERT INTO t3 VALUES (7)
/* GTID */ INSERT INTO t1 SELECT a, 4, 0 FROM t3
@ -73,21 +73,21 @@ COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# ddl
/* GTID */ CREATE TEMPORARY TABLE t4 (a INT PRIMARY KEY) ENGINE=InnoDB
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
/* GTID */ INSERT INTO t1 VALUES (8, 5, 0)
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# ddl
/* GTID */ ALTER TABLE t4 ADD b INT
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
/* GTID */ INSERT INTO t1 VALUES (9, 5, 1)
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
/* GTID */ INSERT INTO t1 VALUES (10, 6, 0)
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# ddl
BEGIN
START TRANSACTION
/* GTID */ CREATE TEMPORARY TABLE t5 (a INT PRIMARY KEY) ENGINE=InnoDB
/* GTID */ INSERT INTO t1 VALUES (11, 7, 0)
COMMIT/*!*/;

View File

@ -144,7 +144,7 @@ CREATE DATABASE test3
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -171,7 +171,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -198,7 +198,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -225,7 +225,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -267,7 +267,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -294,7 +294,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -374,7 +374,7 @@ CREATE DATABASE test1
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -401,7 +401,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -414,7 +414,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -427,7 +427,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -458,7 +458,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -471,7 +471,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -542,7 +542,7 @@ CREATE DATABASE test3
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -567,7 +567,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -592,7 +592,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -617,7 +617,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -655,7 +655,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -680,7 +680,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -768,7 +768,7 @@ CREATE DATABASE test3
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -795,7 +795,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -822,7 +822,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -849,7 +849,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -891,7 +891,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -918,7 +918,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -998,7 +998,7 @@ CREATE DATABASE test1
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -1025,7 +1025,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -1038,7 +1038,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -1051,7 +1051,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -1082,7 +1082,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -1095,7 +1095,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -1166,7 +1166,7 @@ CREATE DATABASE test3
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
@ -1190,7 +1190,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
@ -1214,7 +1214,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test3`.`t3` mapped to number #
@ -1238,7 +1238,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
@ -1275,7 +1275,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
@ -1299,7 +1299,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #

View File

@ -16,7 +16,7 @@ flush logs;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
# Annotate_rows:
#Q> insert into t2 values (@v)
@ -104,7 +104,7 @@ CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8)
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -125,7 +125,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -146,7 +146,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -167,7 +167,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -188,7 +188,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -209,7 +209,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #

View File

@ -62,7 +62,7 @@ CREATE TABLE t1 (a INT, b INT)
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-2
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -97,7 +97,7 @@ CREATE TABLE t2 (a INT)
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -121,7 +121,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -152,7 +152,7 @@ CREATE TABLE t3 (a INT)
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -176,7 +176,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -198,7 +198,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -237,7 +237,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-10
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -303,7 +303,7 @@ CREATE TABLE t1 (a INT, b INT)
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-2
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -338,7 +338,7 @@ CREATE TABLE t2 (a INT)
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -362,7 +362,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -393,7 +393,7 @@ CREATE TABLE t3 (a INT)
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -417,7 +417,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -439,7 +439,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -478,7 +478,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-10
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #

View File

@ -15,7 +15,7 @@ flush logs;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET @`v`:=_ucs2 X'006100620063' COLLATE `ucs2_general_ci`/*!*/;
use `test`/*!*/;
@ -106,7 +106,7 @@ CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8)
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
@ -121,7 +121,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
@ -136,7 +136,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
@ -151,7 +151,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
@ -166,7 +166,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
@ -181,7 +181,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0

View File

@ -81,7 +81,7 @@ c08 TEXT
# at #
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-2 trans
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -107,7 +107,7 @@ COMMIT/*!*/;
# at #
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-3 trans
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -133,7 +133,7 @@ COMMIT/*!*/;
# at #
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-4 trans
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -159,7 +159,7 @@ COMMIT/*!*/;
# at #
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-5 trans
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -213,7 +213,7 @@ COMMIT/*!*/;
# at #
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-6 trans
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -296,7 +296,7 @@ ROLLBACK/*!*/;
# Number of rows: 3
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Rotate to master-bin.000002 pos: 4
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
BEGIN/*!*/;
START TRANSACTION/*!*/;
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@ -331,7 +331,7 @@ BEGIN/*!*/;
COMMIT
/*!*/;
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
BEGIN/*!*/;
START TRANSACTION/*!*/;
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
@ -374,7 +374,7 @@ BEGIN/*!*/;
COMMIT
/*!*/;
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
BEGIN/*!*/;
START TRANSACTION/*!*/;
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@ -389,7 +389,7 @@ BEGIN/*!*/;
COMMIT
/*!*/;
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
BEGIN/*!*/;
START TRANSACTION/*!*/;
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@ -404,7 +404,7 @@ BEGIN/*!*/;
COMMIT
/*!*/;
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
BEGIN/*!*/;
START TRANSACTION/*!*/;
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE

View File

@ -148,7 +148,7 @@ CREATE DATABASE test3
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -175,7 +175,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -202,7 +202,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -229,7 +229,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -271,7 +271,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -298,7 +298,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -381,7 +381,7 @@ CREATE DATABASE test1
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -408,7 +408,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -421,7 +421,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -434,7 +434,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -465,7 +465,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -478,7 +478,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -552,7 +552,7 @@ CREATE DATABASE test3
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
@ -576,7 +576,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
@ -600,7 +600,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test3`.`t3` mapped to number #
@ -624,7 +624,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
@ -661,7 +661,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
@ -685,7 +685,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #

View File

@ -0,0 +1,100 @@
SET @@SQL_MODE = 'ORACLE';
##########################################################################
# Test verifies Gtid_log_event/Xid_log_event specific print #
##########################################################################
CREATE TABLE tm (f INT) ENGINE=MYISAM;
INSERT INTO tm VALUES (10);
CREATE TABLE t(f INT) ENGINE=INNODB;
INSERT INTO t VALUES (10);
CREATE OR REPLACE PROCEDURE simpleproc (param1 OUT INT) AS
BEGIN
SELECT COUNT(*) INTO param1 FROM t;
END;
/
CREATE FUNCTION f1 RETURN INT
AS
BEGIN
RETURN 10;
END;
/
FLUSH LOGS;
##########################################################################
# Delete data from master so that it can be restored from binlog #
##########################################################################
DROP FUNCTION f1;
DROP PROCEDURE simpleproc;
DROP TABLE tm;
DROP TABLE t;
##########################################################################
# Post recovery using mysqlbinlog #
##########################################################################
SHOW TABLES;
Tables_in_test
t
tm
SELECT * FROM tm;
f
10
SELECT * FROM t;
f
10
SELECT f1();
f1()
10
CALL simpleproc(@a);
SELECT @a;
@a
1
"***** Clean Up *****"
DROP TABLE t,tm;
DROP PROCEDURE simpleproc;
DROP FUNCTION f1;
RESET MASTER;
##########################################################################
# Test verifies Gtid_log_event/Xid_log_event/Qery_log_event #
# specific print along with flashback option #
##########################################################################
CREATE TABLE tm(f INT) ENGINE=MYISAM;
INSERT INTO tm VALUES (10);
INSERT INTO tm VALUES (20);
CREATE TABLE t(f INT) ENGINE=INNODB;
INSERT INTO t VALUES (10);
INSERT INTO t VALUES (20);
##########################################################################
# Initial data #
##########################################################################
SELECT * FROM tm;
f
10
20
SELECT * FROM t;
f
10
20
FLUSH LOGS;
DELETE FROM tm WHERE f=20;
DELETE FROM t WHERE f=20;
FLUSH LOGS;
##########################################################################
# Data after deletion #
##########################################################################
SELECT * FROM tm;
f
10
SELECT * FROM t;
f
10
FOUND 2 /START TRANSACTION/ in test.sql
##########################################################################
# Data after recovery using flashback #
##########################################################################
SELECT * FROM tm;
f
10
20
SELECT * FROM t;
f
10
20
"***** Clean Up *****"
DROP TABLE t,tm;

View File

@ -0,0 +1 @@
--flashback

View File

@ -0,0 +1,117 @@
# ==== Purpose ====
#
# Test verifies that point in time recovery of binary log works when
# sql_mode='ORACLE'.
#
# BEGIN statement is printed in three places
# 1) "Gtid_log_event::print"
# 2) "Xid_log_event::print" if flashback is enabled
# 3) "Query_log_event::print" if flashback is enabled and engine is
# non-transacional.
#
# Test verifies all these cases.
#
# ==== References ====
#
# MDEV-23108: Point in time recovery of binary log fails when sql_mode=ORACLE
#
--source include/have_log_bin.inc
--source include/have_innodb.inc
let $MYSQLD_DATADIR= `select @@datadir`;
SET @@SQL_MODE = 'ORACLE';
--echo ##########################################################################
--echo # Test verifies Gtid_log_event/Xid_log_event specific print #
--echo ##########################################################################
CREATE TABLE tm (f INT) ENGINE=MYISAM;
INSERT INTO tm VALUES (10);
CREATE TABLE t(f INT) ENGINE=INNODB;
INSERT INTO t VALUES (10);
DELIMITER /;
CREATE OR REPLACE PROCEDURE simpleproc (param1 OUT INT) AS
BEGIN
SELECT COUNT(*) INTO param1 FROM t;
END;
/
CREATE FUNCTION f1 RETURN INT
AS
BEGIN
RETURN 10;
END;
/
DELIMITER ;/
FLUSH LOGS;
--echo ##########################################################################
--echo # Delete data from master so that it can be restored from binlog #
--echo ##########################################################################
DROP FUNCTION f1;
DROP PROCEDURE simpleproc;
DROP TABLE tm;
DROP TABLE t;
--exec $MYSQL_BINLOG $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/test.sql
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/test.sql
--echo ##########################################################################
--echo # Post recovery using mysqlbinlog #
--echo ##########################################################################
SHOW TABLES;
SELECT * FROM tm;
SELECT * FROM t;
--horizontal_results
SELECT f1();
CALL simpleproc(@a);
SELECT @a;
--echo "***** Clean Up *****"
DROP TABLE t,tm;
DROP PROCEDURE simpleproc;
DROP FUNCTION f1;
--remove_file $MYSQLTEST_VARDIR/tmp/test.sql
RESET MASTER;
--echo ##########################################################################
--echo # Test verifies Gtid_log_event/Xid_log_event/Qery_log_event #
--echo # specific print along with flashback option #
--echo ##########################################################################
CREATE TABLE tm(f INT) ENGINE=MYISAM;
INSERT INTO tm VALUES (10);
INSERT INTO tm VALUES (20);
CREATE TABLE t(f INT) ENGINE=INNODB;
INSERT INTO t VALUES (10);
INSERT INTO t VALUES (20);
--echo ##########################################################################
--echo # Initial data #
--echo ##########################################################################
SELECT * FROM tm;
SELECT * FROM t;
FLUSH LOGS;
DELETE FROM tm WHERE f=20;
DELETE FROM t WHERE f=20;
FLUSH LOGS;
--echo ##########################################################################
--echo # Data after deletion #
--echo ##########################################################################
SELECT * FROM tm;
SELECT * FROM t;
--exec $MYSQL_BINLOG --flashback $MYSQLD_DATADIR/master-bin.000002 > $MYSQLTEST_VARDIR/tmp/test.sql
--let SEARCH_FILE=$MYSQLTEST_VARDIR/tmp/test.sql
--let SEARCH_PATTERN=START TRANSACTION
--source include/search_pattern_in_file.inc
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/test.sql
--echo ##########################################################################
--echo # Data after recovery using flashback #
--echo ##########################################################################
SELECT * FROM tm;
SELECT * FROM t;
--echo "***** Clean Up *****"
DROP TABLE t,tm;
--remove_file $MYSQLTEST_VARDIR/tmp/test.sql

View File

@ -9,6 +9,9 @@ INSERT INTO t2 (f1,f2,f3) SELECT '', '', '' FROM seq_1_to_8192;
SELECT COUNT(*) FROM t1;
COUNT(*)
8192
SELECT COUNT(*) FROM t2;
COUNT(*)
8192
SELECT variable_value > @old_encrypted FROM information_schema.global_status
WHERE variable_name = 'innodb_encryption_n_temp_blocks_encrypted';
variable_value > @old_encrypted

View File

@ -15,6 +15,8 @@ CREATE TEMPORARY TABLE t2(f1 CHAR(100), f2 CHAR(200), f3 CHAR(200))ENGINE=InnoDB
INSERT INTO t2 (f1,f2,f3) SELECT '', '', '' FROM seq_1_to_8192;
SELECT COUNT(*) FROM t1;
SELECT COUNT(*) FROM t2;
SELECT variable_value > @old_encrypted FROM information_schema.global_status
WHERE variable_name = 'innodb_encryption_n_temp_blocks_encrypted';

View File

@ -18,13 +18,11 @@ MW-286 : MDEV-18464 Killing thread can cause mutex deadlock if done concurrently
MW-329 : MDEV-19962 Galera test failure on MW-329
galera.galera_defaults : MDEV-21494 Galera test sporadic failure on galera.galera_defaults
galera_as_slave_replication_bundle : MDEV-15785 OPTION_GTID_BEGIN is set in Gtid_log_event::do_apply_event()
galera_autoinc_sst_mariabackup : Known issue, may require porting MDEV-17458 from later versions
galera_bf_abort_group_commit : MDEV-18282 Galera test failure on galera.galera_bf_abort_group_commit
galera_binlog_stmt_autoinc : MDEV-19959 Galera test failure on galera_binlog_stmt_autoinc
galera_encrypt_tmp_files : Get error failed to enable encryption of temporary files
galera_ftwrl : MDEV-21525 galera.galera_ftwrl
galera_gcache_recover_manytrx : MDEV-18834 Galera test failure
galera_ist_progress : MDEV-15236 fails when trying to read transfer status
galera_kill_largechanges : MDEV-18179 Galera test failure on galera.galera_kill_largechanges
galera_kill_nochanges : MDEV-18280 Galera test failure on galera_split_brain and galera_kill_nochanges
galera_load_data : MDEV-19968 galera.galera_load_data

View File

@ -102,12 +102,18 @@ INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
ROLLBACK;
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COMMIT;
SET AUTOCOMMIT=ON;
--connection node_1
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
DROP TABLE t1;

View File

@ -100,12 +100,18 @@ INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
ROLLBACK;
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COMMIT;
SET AUTOCOMMIT=ON;
--connection node_1
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
DROP TABLE t1;

View File

@ -96,12 +96,18 @@ INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
ROLLBACK;
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COMMIT;
SET AUTOCOMMIT=ON;
--connection node_1
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
DROP TABLE t1;

View File

@ -110,6 +110,9 @@ INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
ROLLBACK;
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
@ -117,6 +120,8 @@ COMMIT;
SET AUTOCOMMIT=ON;
--connection node_1
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;

View File

@ -97,12 +97,18 @@ INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
ROLLBACK;
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COMMIT;
SET AUTOCOMMIT=ON;
--connection node_1
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
DROP TABLE t1;

View File

@ -605,3 +605,69 @@ test gcol_t1 sidea NEVER NULL
test gcol_t1 sideb NEVER NULL
test gcol_t1 sidec VIRTUAL GENERATED ALWAYS sqrt(`sidea` * `sidea` + `sideb` * `sideb`)
DROP TABLE gcol_t1;
#
# MDEV-16039 Crash when selecting virtual columns
# generated using functions with DAYNAME()
#
CREATE TABLE t1 (
suppliersenttoday INT NOT NULL,
suppliercaptoday CHAR(10) AS (CONCAT('',DAYNAME('2020-02-05')))
) COLLATE utf8_bin;
INSERT INTO t1 (suppliersenttoday) VALUES (0);
INSERT INTO t1 (suppliersenttoday) VALUES (0);
SELECT * FROM t1;
suppliersenttoday suppliercaptoday
0 Wednesday
0 Wednesday
PREPARE STMT FROM 'INSERT INTO t1 (suppliersenttoday) VALUES (1)';
CREATE OR REPLACE TABLE t1 (
suppliersenttoday INT NOT NULL,
suppliercaptoday CHAR(10) AS (CONCAT('',DAYNAME('2020-02-05')))
) COLLATE utf8_bin;
EXECUTE STMT;
EXECUTE STMT;
SELECT * FROM t1;
suppliersenttoday suppliercaptoday
1 Wednesday
1 Wednesday
DROP TABLE t1;
# (duplicate) MDEV-20380 Server crash during update
CREATE TABLE gafld (
nuigafld INTEGER NOT NULL,
ucrgafld VARCHAR(30) COLLATE UTF8_BIN NOT NULL
DEFAULT SUBSTRING_INDEX(USER(),'@',1)
);
EXPLAIN UPDATE gafld SET nuigafld = 0 WHERE nuigafld = 10;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE gafld ALL NULL NULL NULL NULL 1 Using where
EXPLAIN UPDATE gafld SET nuigafld = 0 WHERE nuigafld = 10;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE gafld ALL NULL NULL NULL NULL 1 Using where
DROP TABLE gafld;
# (duplicate) MDEV-17653 replace into generated columns is unstable
# Some columns are snipped from the MDEV test
CREATE TABLE t (
c0 TIMESTAMP NOT NULL DEFAULT current_timestamp()
ON UPDATE current_timestamp(),
c1 DECIMAL(27,25) GENERATED ALWAYS AS (DAYOFMONTH('2020-02-05')),
c4 TIME NOT NULL,
c8 SMALLINT(6) GENERATED ALWAYS AS
(CONCAT_WS(CONVERT(C1 USING CP932),
'900') <> (c4 = 1)),
PRIMARY KEY (c4)
) DEFAULT CHARSET=latin1;
REPLACE INTO t SET c0 = '2018-06-03 10:31:43', c4 = '02:58:55';
REPLACE INTO t SET c0 = '2018-06-03 10:31:44', c4 = '02:58:55';
REPLACE INTO t SET c0 = '2018-06-03 10:31:45', c4 = '02:58:55';
DROP TABLE t;
# (duplicate) MDEV-17986 crash when I insert on a table
CREATE OR REPLACE TABLE t2 (
number BIGINT(20) NOT NULL,
lrn BIGINT(20) NOT NULL DEFAULT 0,
source VARCHAR(15) NOT NULL
DEFAULT (REVERSE(SUBSTRING_INDEX(REVERSE(user()), '@', 1))),
PRIMARY KEY (number)
);
REPLACE t2(number) VALUES('1');
REPLACE t2(number) VALUES('1');
DROP TABLE t2;

View File

@ -564,3 +564,73 @@ SELECT table_schema,table_name,column_name,extra,is_generated,generation_express
FROM information_schema.columns WHERE table_name='gcol_t1';
DROP TABLE gcol_t1;
--echo #
--echo # MDEV-16039 Crash when selecting virtual columns
--echo # generated using functions with DAYNAME()
--echo #
CREATE TABLE t1 (
suppliersenttoday INT NOT NULL,
suppliercaptoday CHAR(10) AS (CONCAT('',DAYNAME('2020-02-05')))
) COLLATE utf8_bin;
INSERT INTO t1 (suppliersenttoday) VALUES (0);
INSERT INTO t1 (suppliersenttoday) VALUES (0);
SELECT * FROM t1;
PREPARE STMT FROM 'INSERT INTO t1 (suppliersenttoday) VALUES (1)';
CREATE OR REPLACE TABLE t1 (
suppliersenttoday INT NOT NULL,
suppliercaptoday CHAR(10) AS (CONCAT('',DAYNAME('2020-02-05')))
) COLLATE utf8_bin;
EXECUTE STMT;
EXECUTE STMT;
SELECT * FROM t1;
DROP TABLE t1;
--echo # (duplicate) MDEV-20380 Server crash during update
CREATE TABLE gafld (
nuigafld INTEGER NOT NULL,
ucrgafld VARCHAR(30) COLLATE UTF8_BIN NOT NULL
DEFAULT SUBSTRING_INDEX(USER(),'@',1)
);
EXPLAIN UPDATE gafld SET nuigafld = 0 WHERE nuigafld = 10;
EXPLAIN UPDATE gafld SET nuigafld = 0 WHERE nuigafld = 10;
DROP TABLE gafld;
--echo # (duplicate) MDEV-17653 replace into generated columns is unstable
--echo # Some columns are snipped from the MDEV test
CREATE TABLE t (
c0 TIMESTAMP NOT NULL DEFAULT current_timestamp()
ON UPDATE current_timestamp(),
c1 DECIMAL(27,25) GENERATED ALWAYS AS (DAYOFMONTH('2020-02-05')),
c4 TIME NOT NULL,
c8 SMALLINT(6) GENERATED ALWAYS AS
(CONCAT_WS(CONVERT(C1 USING CP932),
'900') <> (c4 = 1)),
PRIMARY KEY (c4)
) DEFAULT CHARSET=latin1;
REPLACE INTO t SET c0 = '2018-06-03 10:31:43', c4 = '02:58:55';
REPLACE INTO t SET c0 = '2018-06-03 10:31:44', c4 = '02:58:55';
REPLACE INTO t SET c0 = '2018-06-03 10:31:45', c4 = '02:58:55';
DROP TABLE t;
--echo # (duplicate) MDEV-17986 crash when I insert on a table
CREATE OR REPLACE TABLE t2 (
number BIGINT(20) NOT NULL,
lrn BIGINT(20) NOT NULL DEFAULT 0,
source VARCHAR(15) NOT NULL
DEFAULT (REVERSE(SUBSTRING_INDEX(REVERSE(user()), '@', 1))),
PRIMARY KEY (number)
);
REPLACE t2(number) VALUES('1');
REPLACE t2(number) VALUES('1');
DROP TABLE t2;

View File

@ -11,4 +11,3 @@
##############################################################################
create-index-debug : MDEV-13680 InnoDB may crash when btr_page_alloc() fails
innodb_force_recovery_rollback : MDEV-22889 InnoDB occasionally breaks ACID

View File

@ -0,0 +1,26 @@
#
# MDEV-23244 ALTER TABLE…ADD PRIMARY KEY fails to flag
# duplicate key error from concurrent DML
#
CREATE TABLE t0 (pk INT PRIMARY KEY) ENGINE=InnoDB;
CREATE TABLE t1 (c CHAR(2) NOT NULL) ENGINE=InnoDB;
connect con1,localhost,root,,;
BEGIN;
INSERT INTO t0 VALUES(1);
connection default;
SET DEBUG_SYNC='row_log_table_apply1_before SIGNAL dml WAIT_FOR dml_done';
ALTER TABLE t1 ADD PRIMARY KEY(c(1));
connection con1;
SET DEBUG_SYNC='now WAIT_FOR dml';
INSERT INTO t1 VALUES ('ab'),('ac');
COMMIT;
SET DEBUG_SYNC='now SIGNAL dml_done';
disconnect con1;
connection default;
ERROR 23000: Duplicate entry 'a' for key 'PRIMARY'
SET DEBUG_SYNC='RESET';
SELECT * FROM t1;
c
ab
ac
DROP TABLE t0,t1;

View File

@ -1069,3 +1069,20 @@ SELECT * FROM t1;
a b
10 10:20:30
DROP TABLE t1;
#
# MDEV-18042 Server crashes in mysql_alter_table upon adding a non-null
# date column under NO_ZERO_DATE with ALGORITHM=INPLACE
#
SET @OLD_SQL_MODE= @@SQL_MODE;
SET @@SQL_MODE= 'NO_ZERO_DATE';
CREATE OR REPLACE TABLE t1 (i INT) ENGINE=MyISAM;
ALTER TABLE t1 ADD COLUMN d DATE NOT NULL, ALGORITHM=INPLACE;
ERROR 0A000: ALGORITHM=INPLACE is not supported for this operation. Try ALGORITHM=COPY
CREATE OR REPLACE TABLE t1 (i INT) ENGINE=InnoDB;
ALTER TABLE t1 ADD d DATETIME NOT NULL CHECK (f <= 0), ALGORITHM=COPY;
ERROR 42S22: Unknown column 'f' in 'CHECK'
CREATE OR REPLACE TABLE t1 (a int) ENGINE=InnoDB;
ALTER TABLE t1 ADD COLUMN b DATETIME NOT NULL, LOCK=NONE;
# Cleanup
SET @@SQL_MODE= @OLD_SQL_MODE;
DROP TABLE t1;

View File

@ -13,6 +13,6 @@ CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
# restart: --innodb-force-recovery=2
disconnect con0;
connection default;
SELECT * FROM t0 LOCK IN SHARE MODE;
SELECT * FROM t0 LIMIT 0 LOCK IN SHARE MODE;
a
DROP TABLE t0,t1;

View File

@ -29,4 +29,18 @@ SELECT * FROM t1;
a
0
DROP TABLE t1;
#
# MDEV-23198 Crash in REPLACE
#
BEGIN NOT ATOMIC
DECLARE c TEXT DEFAULT(SELECT CONCAT('CREATE TABLE t1(id INT PRIMARY KEY, c',
GROUP_CONCAT(seq SEPARATOR ' INT, c'),
' INT NOT NULL UNIQUE) ENGINE=InnoDB')
FROM seq_1_to_294);
EXECUTE IMMEDIATE c;
END;
$$
INSERT INTO t1 SET id=1,c294=1;
REPLACE t1 SET id=1,c294=1;
DROP TABLE t1;
SET GLOBAL innodb_file_per_table= @save_per_table;

View File

@ -0,0 +1,34 @@
--source innodb_default_row_format.inc
--source include/have_debug.inc
--source include/have_debug_sync.inc
--echo #
--echo # MDEV-23244 ALTER TABLE…ADD PRIMARY KEY fails to flag
--echo # duplicate key error from concurrent DML
--echo #
CREATE TABLE t0 (pk INT PRIMARY KEY) ENGINE=InnoDB;
CREATE TABLE t1 (c CHAR(2) NOT NULL) ENGINE=InnoDB;
connect (con1,localhost,root,,);
BEGIN;
INSERT INTO t0 VALUES(1);
connection default;
SET DEBUG_SYNC='row_log_table_apply1_before SIGNAL dml WAIT_FOR dml_done';
send ALTER TABLE t1 ADD PRIMARY KEY(c(1));
connection con1;
SET DEBUG_SYNC='now WAIT_FOR dml';
INSERT INTO t1 VALUES ('ab'),('ac');
COMMIT;
SET DEBUG_SYNC='now SIGNAL dml_done';
disconnect con1;
connection default;
--error ER_DUP_ENTRY
reap;
SET DEBUG_SYNC='RESET';
SELECT * FROM t1;
DROP TABLE t0,t1;

View File

@ -668,6 +668,28 @@ ALTER TABLE t1 ADD b TIME NOT NULL DEFAULT if(unix_timestamp()>1,TIMESTAMP'2001-
SELECT * FROM t1;
DROP TABLE t1;
--echo #
--echo # MDEV-18042 Server crashes in mysql_alter_table upon adding a non-null
--echo # date column under NO_ZERO_DATE with ALGORITHM=INPLACE
--echo #
SET @OLD_SQL_MODE= @@SQL_MODE;
SET @@SQL_MODE= 'NO_ZERO_DATE';
CREATE OR REPLACE TABLE t1 (i INT) ENGINE=MyISAM;
--error ER_ALTER_OPERATION_NOT_SUPPORTED
ALTER TABLE t1 ADD COLUMN d DATE NOT NULL, ALGORITHM=INPLACE;
CREATE OR REPLACE TABLE t1 (i INT) ENGINE=InnoDB;
--error ER_BAD_FIELD_ERROR
ALTER TABLE t1 ADD d DATETIME NOT NULL CHECK (f <= 0), ALGORITHM=COPY;
CREATE OR REPLACE TABLE t1 (a int) ENGINE=InnoDB;
ALTER TABLE t1 ADD COLUMN b DATETIME NOT NULL, LOCK=NONE;
--echo # Cleanup
SET @@SQL_MODE= @OLD_SQL_MODE;
DROP TABLE t1;
#
# End of 10.2 tests
#

View File

@ -30,5 +30,6 @@ CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
disconnect con0;
connection default;
# If the rollback was aborted, we would end up in a lock wait here.
SELECT * FROM t0 LOCK IN SHARE MODE;
# The LIMIT 0 works around MDEV-22889 InnoDB occasionally breaks ACID
SELECT * FROM t0 LIMIT 0 LOCK IN SHARE MODE;
DROP TABLE t0,t1;

View File

@ -1,4 +1,5 @@
--source include/have_innodb.inc
--source include/have_sequence.inc
SET @save_per_table= @@GLOBAL.innodb_file_per_table;
SET GLOBAL innodb_file_per_table= 1;
@ -49,4 +50,23 @@ SELECT * FROM t1;
DROP TABLE t1;
--echo #
--echo # MDEV-23198 Crash in REPLACE
--echo #
DELIMITER $$;
BEGIN NOT ATOMIC
DECLARE c TEXT DEFAULT(SELECT CONCAT('CREATE TABLE t1(id INT PRIMARY KEY, c',
GROUP_CONCAT(seq SEPARATOR ' INT, c'),
' INT NOT NULL UNIQUE) ENGINE=InnoDB')
FROM seq_1_to_294);
EXECUTE IMMEDIATE c;
END;
$$
DELIMITER ;$$
INSERT INTO t1 SET id=1,c294=1;
REPLACE t1 SET id=1,c294=1;
DROP TABLE t1;
SET GLOBAL innodb_file_per_table= @save_per_table;

View File

@ -14,6 +14,7 @@ uninstall plugin audit_null;
ERROR HY000: Index for table './mysql/plugin.MYI' is corrupt; try to repair it
SET debug_dbug=@old_dbug;
uninstall plugin audit_null;
uninstall plugin audit_null;
ERROR 42000: PLUGIN audit_null does not exist
delete from mysql.plugin where name='audit_null';
alter table mysql.plugin engine=aria;

View File

@ -28,7 +28,8 @@ SET debug_dbug='+d,myisam_pretend_crashed_table_on_usage';
uninstall plugin audit_null;
SET debug_dbug=@old_dbug;
--error 1305
uninstall plugin audit_null;
--error ER_SP_DOES_NOT_EXIST
uninstall plugin audit_null;
delete from mysql.plugin where name='audit_null';

View File

@ -230,7 +230,7 @@ ALTER TABLE t1 ENGINE=BLACKHOLE
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-3 trans
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -248,7 +248,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-4 trans
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -266,7 +266,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-5 trans
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -284,7 +284,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-6 trans
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -302,7 +302,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-7 trans
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -328,7 +328,7 @@ ALTER TABLE t1 ADD PRIMARY KEY pk_t1 (a,b)
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-9 trans
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -346,7 +346,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-10 trans
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -364,7 +364,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-11 trans
/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -390,7 +390,7 @@ ALTER TABLE t1 DROP PRIMARY KEY, ADD KEY key_t1 (a)
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-13 trans
/*!100001 SET @@session.gtid_seq_no=13*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -408,7 +408,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-14 trans
/*!100001 SET @@session.gtid_seq_no=14*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -426,7 +426,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-15 trans
/*!100001 SET @@session.gtid_seq_no=15*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #

View File

@ -0,0 +1,22 @@
include/master-slave.inc
[connection master]
CREATE TABLE t1(a int);
INSERT INTO t1 VALUES(1);
connection slave;
SET @saved_dbug = @@GLOBAL.debug_dbug;
SET @@global.debug_dbug= 'd,simulate_error_on_packet_write';
START SLAVE;
SET DEBUG_SYNC= 'now WAIT_FOR parked';
SET @@GLOBAL.debug_dbug = @saved_dbug;
SET DEBUG_SYNC= 'now SIGNAL continue';
SET DEBUG_SYNC= 'RESET';
include/wait_for_slave_io_to_start.inc
include/wait_for_slave_sql_to_start.inc
connection master;
include/sync_slave_sql_with_master.inc
SELECT * FROM t1;
a
1
connection master;
DROP TABLE t1;
include/rpl_end.inc

View File

@ -46,7 +46,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a timestamp(4) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, b varchar(100), c datetime(2))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1293832861.123456/*!*/;
SET @@session.time_zone='+03:00'/*!*/;
@ -55,7 +55,7 @@ insert t1 (b,c) values (now(6), now(6))
SET TIMESTAMP=1293832861.123456/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1293832861/*!*/;
insert t1 values ('2010-10-10 10:10:10.101010','2010-10-10 10:10:10.101010','2010-10-10 10:10:10.101010')
@ -63,7 +63,7 @@ insert t1 values ('2010-10-10 10:10:10.101010','2010-10-10 10:10:10.101010','201
SET TIMESTAMP=1293832861/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1643756522.654321/*!*/;
insert t1 (b,c) values (now(), now())
@ -71,7 +71,7 @@ insert t1 (b,c) values (now(), now())
SET TIMESTAMP=1643756522.654321/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1643756522.654321/*!*/;
insert t1 (b,c) values (0,0)
@ -79,7 +79,7 @@ insert t1 (b,c) values (0,0)
SET TIMESTAMP=1643756522.654321/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1643756522.654321/*!*/;
insert t1 (a,b,c) values (0,0,now(6))

View File

@ -189,7 +189,7 @@ SET @@session.collation_database=DEFAULT/*!*/;
CREATE TABLE `t``1` (`a``1` VARCHAR(4) PRIMARY KEY, `b``2` VARCHAR(3),
`c``3` VARCHAR(7))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE '<name>' INTO TABLE `t``1` FIELDS TERMINATED BY ',' ENCLOSED BY '\'' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a``1`, @`b```) SET `b``2`= @`b```, `c``3`= concat('|', "b""a'z", "!")
@ -200,7 +200,7 @@ COMMIT
SET TIMESTAMP=1000000000/*!*/;
truncate `t``1`
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@ -288,7 +288,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
CREATE TABLE t1 (a1 BIGINT PRIMARY KEY, a2 BIGINT, a3 BIGINT, a4 BIGINT UNSIGNED, b DOUBLE, c DECIMAL(65,10), d VARCHAR(100))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
INSERT INTO t1 VALUES (-9223372036854775808,42,9223372036854775807,18446744073709551615,-1234560123456789e110, -1234501234567890123456789012345678901234567890123456789.0123456789, REPEAT("x", 100))
@ -296,7 +296,7 @@ INSERT INTO t1 VALUES (-9223372036854775808,42,9223372036854775807,1844674407370
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET @`a``1`:=-9223372036854775808/*!*/;
SET @`a``2`:=42/*!*/;
@ -383,7 +383,7 @@ master-bin.000002 # Query 1 # COMMIT
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
use `ts``et`/*!*/;
SET TIMESTAMP=1000000000/*!*/;

View File

@ -0,0 +1,20 @@
include/master-slave.inc
[connection master]
connection master;
create table t1 (
id int auto_increment,
data varchar(32),
virt tinyint as (1),
primary key (id),
key virt (virt)
) engine=innodb default charset=utf8mb4;
insert into t1 (data) values ('broken');
update t1 set data='more broken';
connection slave;
select * from t1;
id data virt
1 more broken 1
connection master;
drop table t1;
connection slave;
include/rpl_end.inc

View File

@ -810,7 +810,7 @@ insert into t1 values (b);
insert into t1 values (unix_timestamp());
end
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
insert into t1 values ( NAME_CONST('b',8))
@ -818,7 +818,7 @@ insert into t1 values ( NAME_CONST('b',8))
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
insert into t1 values (unix_timestamp())
@ -826,7 +826,7 @@ insert into t1 values (unix_timestamp())
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
delete from t1
@ -872,7 +872,7 @@ insert into t2 values(3);
insert into t1 values (5);
end
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
insert into t2 values(3)
@ -880,7 +880,7 @@ insert into t2 values(3)
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
insert into t1 values (15)
@ -888,7 +888,7 @@ insert into t1 values (15)
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
insert into t2 values(3)
@ -899,7 +899,7 @@ COMMIT
SET TIMESTAMP=t/*!*/;
alter procedure foo4 sql security invoker
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
insert into t2 values(3)
@ -907,7 +907,7 @@ insert into t2 values(3)
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
insert into t1 values (5)
@ -915,7 +915,7 @@ insert into t1 values (5)
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
delete from t2
@ -936,7 +936,7 @@ begin
insert into t2 values(20),(20);
end
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
insert into t2 values(20),(20)
@ -964,7 +964,7 @@ insert into t1 values (x);
return x+2;
end
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
delete t1,t2 from t1,t2
@ -972,7 +972,7 @@ delete t1,t2 from t1,t2
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
SELECT `mysqltest1`.`fn1`(20)
@ -980,7 +980,7 @@ SELECT `mysqltest1`.`fn1`(20)
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
insert into t2 values(fn1(21))
@ -998,7 +998,7 @@ begin
return unix_timestamp();
end
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
delete from t1
@ -1006,7 +1006,7 @@ delete from t1
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
insert into t1 values(fn1())
@ -1028,7 +1028,7 @@ begin
return 0;
end
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
delete from t2
@ -1049,7 +1049,7 @@ insert into t2 values(x),(x);
return 10;
end
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
SELECT `mysqltest1`.`fn1`(100)
@ -1057,7 +1057,7 @@ SELECT `mysqltest1`.`fn1`(100)
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
SELECT `mysqltest1`.`fn1`(20)
@ -1065,7 +1065,7 @@ SELECT `mysqltest1`.`fn1`(20)
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
delete from t1
@ -1076,7 +1076,7 @@ COMMIT
SET TIMESTAMP=t/*!*/;
CREATE DEFINER=`root`@`localhost` trigger trg before insert on t1 for each row set new.a= 10
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
insert into t1 values (1)
@ -1084,7 +1084,7 @@ insert into t1 values (1)
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
delete from t1
@ -1095,7 +1095,7 @@ COMMIT
SET TIMESTAMP=t/*!*/;
drop trigger trg
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
insert into t1 values (1)
@ -1142,7 +1142,7 @@ CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW
SET TIMESTAMP=t/*!*/;
create table t1 (a int)
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
insert into t1 (a) values (f1())
@ -1169,7 +1169,7 @@ SET TIMESTAMP=t/*!*/;
CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`(arg VARCHAR(10))
INSERT INTO t1 VALUES(arg)
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
INSERT INTO t1 VALUES( NAME_CONST('arg',_latin1'test' COLLATE 'latin1_swedish_ci'))
@ -1223,7 +1223,7 @@ SET TIMESTAMP=t/*!*/;
CREATE DEFINER=`root`@`localhost` PROCEDURE `mysqltest`.`test`()
begin end
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=t/*!*/;
insert into t values ( 1 )
@ -1238,7 +1238,7 @@ insert into t values (1);
return 0;
end
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
use `mysqltest`/*!*/;
SET TIMESTAMP=t/*!*/;

View File

@ -0,0 +1,60 @@
# ==== Purpose ====
#
# Test verifies that, due to a temporary network error, if request dump
# command specific packet write operation fails then the write error gets
# handled appropriately. Further retry will be initiated with appropriate
# slave registration on master. This will ensure that master has all the
# details of slave and no warnings are reported on the master side.
#
# ==== Implementation ====
#
# Steps:
# 0 - Skip the slave start.
# 1 - Enable debug simulation which will simulate packet write error during
# dump request command execution.
# 2 - Start the slave. Observe that slave is able to reconnect post
# temporary network write error.
#
# ==== References ====
#
# MDEV-14203: rpl.rpl_extra_col_master_myisam,
# rpl.rpl_slave_load_tmpdir_not_exist failed in buildbot with a
# warning
#
# MDEV-13258: rpl.rpl_skip_replication, rpl.rpl_set_statement_default_master
# failed in buildbot
#
--source include/have_debug.inc
--source include/have_debug_sync.inc
--let $rpl_skip_start_slave=1
--source include/master-slave.inc
# Do an insert on master
CREATE TABLE t1(a int);
INSERT INTO t1 VALUES(1);
# Add a debug point and start the slave so that dump request fails.
connection slave;
SET @saved_dbug = @@GLOBAL.debug_dbug;
SET @@global.debug_dbug= 'd,simulate_error_on_packet_write';
START SLAVE;
SET DEBUG_SYNC= 'now WAIT_FOR parked';
SET @@GLOBAL.debug_dbug = @saved_dbug;
SET DEBUG_SYNC= 'now SIGNAL continue';
SET DEBUG_SYNC= 'RESET';
--source include/wait_for_slave_io_to_start.inc
--source include/wait_for_slave_sql_to_start.inc
# Sync the slave and verify that slave has caught up with the master.
connection master;
--source include/sync_slave_sql_with_master.inc
SELECT * FROM t1;
# Cleanup
connection master;
DROP TABLE t1;
--source include/rpl_end.inc

View File

@ -0,0 +1,27 @@
--source include/have_binlog_format_row.inc
--source include/master-slave.inc
--source include/have_innodb.inc
connection master;
create table t1 (
id int auto_increment,
data varchar(32),
virt tinyint as (1),
primary key (id),
key virt (virt)
) engine=innodb default charset=utf8mb4;
insert into t1 (data) values ('broken');
update t1 set data='more broken';
--sync_slave_with_master
select * from t1;
--connection master
drop table t1;
--sync_slave_with_master
--source include/rpl_end.inc

View File

@ -110,15 +110,9 @@ autocommit,character_set_client,character_set_connection,character_set_results,t
connection default;
# Testing NULL
SET @@global.session_track_system_variables = NULL;
ERROR 42000: Variable 'session_track_system_variables' can't be set to the value of 'NULL'
SET @@session.session_track_system_variables = NULL;
# Global - expect "" instead of NULL
SELECT @@global.session_track_system_variables;
@@global.session_track_system_variables
NULL
# Session - expect "" instead of NULL
SELECT @@session.session_track_system_variables;
@@session.session_track_system_variables
ERROR 42000: Variable 'session_track_system_variables' can't be set to the value of 'NULL'
# testing with duplicate entries.
SET @@global.session_track_system_variables= "time_zone";
SET @@session.session_track_system_variables= "time_zone";

View File

@ -85,14 +85,11 @@ SELECT @@session.session_track_system_variables;
connection default;
--echo # Testing NULL
--error ER_WRONG_VALUE_FOR_VAR
SET @@global.session_track_system_variables = NULL;
--error ER_WRONG_VALUE_FOR_VAR
SET @@session.session_track_system_variables = NULL;
--echo # Global - expect "" instead of NULL
SELECT @@global.session_track_system_variables;
--echo # Session - expect "" instead of NULL
SELECT @@session.session_track_system_variables;
--echo # testing with duplicate entries.
# Lets first set it to some valid value.
SET @@global.session_track_system_variables= "time_zone";

View File

@ -8,11 +8,7 @@ insert t1 values (1);
delete from t1;
set timestamp=unix_timestamp('2001-02-04 10:20:50');
insert t1 values (2);
Warnings:
Warning 4114 Versioned table `test`.`t1`: partition `p1` is full, add more HISTORY partitions
delete from t1;
Warnings:
Warning 4114 Versioned table `test`.`t1`: partition `p1` is full, add more HISTORY partitions
select subpartition_name,partition_description,table_rows from information_schema.partitions where table_schema='test' and table_name='t1';
subpartition_name partition_description table_rows
p1sp0 2001-02-04 10:20:30 1
@ -55,4 +51,20 @@ i
explain partitions select * from t1 for system_time all where row_end = @ts;
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 p1_p1sp0,p1_p1sp1 # NULL NULL NULL NULL # #
#
# MDEV-16023 Unfortunate error message WARN_VERS_PART_FULL
#
set timestamp= unix_timestamp('2020-07-29 10:30:10');
create or replace table t1 (a int) with system versioning
partition by system_time interval 1 second (
partition p0 history,
partition p1 history,
partition pc current
);
set timestamp= unix_timestamp('2020-07-29 10:30:14');
insert into t1 values (1),(2),(3);
show warnings;
Level Code Message
# Cleanup
set timestamp= default;
drop table t1;

View File

@ -37,4 +37,22 @@ select * from t1 for system_time all where row_end = @ts;
--replace_column 5 # 10 # 11 #
explain partitions select * from t1 for system_time all where row_end = @ts;
--echo #
--echo # MDEV-16023 Unfortunate error message WARN_VERS_PART_FULL
--echo #
set timestamp= unix_timestamp('2020-07-29 10:30:10');
create or replace table t1 (a int) with system versioning
partition by system_time interval 1 second (
partition p0 history,
partition p1 history,
partition pc current
);
set timestamp= unix_timestamp('2020-07-29 10:30:14');
insert into t1 values (1),(2),(3);
show warnings;
--echo # Cleanup
set timestamp= default;
drop table t1;

View File

@ -609,7 +609,11 @@ void my_timer_init(MY_TIMER_INFO *mti)
time1= my_timer_cycles();
time2= my_timer_ticks();
time3= time2; /* Avoids a Microsoft/IBM compiler warning */
#if defined(HAVE_SYS_TIMES_H) && defined(HAVE_TIMES)
for (i= 0; i < 1000; ++i)
#else
for (i= 0; i < MY_TIMER_ITERATIONS * 1000; ++i)
#endif
{
time3= my_timer_ticks();
if (time3 - time2 > 10) break;

View File

@ -475,6 +475,8 @@ cli_advanced_command(MYSQL *mysql, enum enum_server_command command,
set_mysql_error(mysql, CR_NET_PACKET_TOO_LARGE, unknown_sqlstate);
goto end;
}
if (net->last_errno == ER_NET_ERROR_ON_WRITE && command == COM_BINLOG_DUMP)
goto end;
end_server(mysql);
if (mysql_reconnect(mysql) || stmt_skip)
goto end;

View File

@ -2322,7 +2322,7 @@ uint Field::fill_cache_field(CACHE_FIELD *copy)
bool Field::get_date(MYSQL_TIME *to, date_mode_t mode)
{
StringBuffer<40> tmp;
Temporal::Warn_push warn(get_thd(), NULL, NullS, to, mode);
Temporal::Warn_push warn(get_thd(), nullptr, nullptr, nullptr, to, mode);
Temporal_hybrid *t= new(to) Temporal_hybrid(get_thd(), &warn,
val_str(&tmp), mode);
return !t->is_valid_temporal();
@ -11190,14 +11190,16 @@ void Field::set_datetime_warning(Sql_condition::enum_warning_level level,
if (thd->really_abort_on_warning() && level >= Sql_condition::WARN_LEVEL_WARN)
{
/*
field_str.name can be NULL when field is not in the select list:
field_name.str can be NULL when field is not in the select list:
SET SESSION SQL_MODE= 'STRICT_ALL_TABLES,NO_ZERO_DATE';
CREATE OR REPLACE TABLE t2 SELECT 1 AS f FROM t1 GROUP BY FROM_DAYS(d);
Can't call push_warning_truncated_value_for_field() directly here,
as it expect a non-NULL name.
*/
thd->push_warning_wrong_or_truncated_value(level, false, typestr,
str->ptr(), table->s,
str->ptr(),
table->s->db.str,
table->s->table_name.str,
field_name.str);
}
else

View File

@ -1372,8 +1372,10 @@ bool Item::get_date_from_real(THD *thd, MYSQL_TIME *ltime, date_mode_t fuzzydate
bool Item::get_date_from_string(THD *thd, MYSQL_TIME *to, date_mode_t mode)
{
StringBuffer<40> tmp;
Temporal::Warn_push warn(thd, field_table_or_null(), field_name_or_null(),
to, mode);
const TABLE_SHARE *s = field_table_or_null();
Temporal::Warn_push warn(thd, s ? s->db.str : nullptr,
s ? s->table_name.str : nullptr,
field_name_or_null(), to, mode);
Temporal_hybrid *t= new(to) Temporal_hybrid(thd, &warn, val_str(&tmp), mode);
return !t->is_valid_temporal();
}
@ -2509,14 +2511,7 @@ bool Type_std_attributes::agg_item_set_converter(const DTCollation &coll,
bool res= FALSE;
uint i;
/*
In case we're in statement prepare, create conversion item
in its memory: it will be reused on each execute.
*/
Query_arena backup;
Query_arena *arena= thd->stmt_arena->is_stmt_prepare() ?
thd->activate_stmt_arena_if_needed(&backup) :
NULL;
DBUG_ASSERT(!thd->stmt_arena->is_stmt_prepare());
for (i= 0, arg= args; i < nargs; i++, arg+= item_sep)
{
@ -2538,20 +2533,8 @@ bool Type_std_attributes::agg_item_set_converter(const DTCollation &coll,
res= TRUE;
break; // we cannot return here, we need to restore "arena".
}
/*
If in statement prepare, then we create a converter for two
constant items, do it once and then reuse it.
If we're in execution of a prepared statement, arena is NULL,
and the conv was created in runtime memory. This can be
the case only if the argument is a parameter marker ('?'),
because for all true constants the charset converter has already
been created in prepare. In this case register the change for
rollback.
*/
if (thd->stmt_arena->is_stmt_prepare())
*arg= conv;
else
thd->change_item_tree(arg, conv);
thd->change_item_tree(arg, conv);
if (conv->fix_fields_if_needed(thd, arg))
{
@ -2559,8 +2542,6 @@ bool Type_std_attributes::agg_item_set_converter(const DTCollation &coll,
break; // we cannot return here, we need to restore "arena".
}
}
if (arena)
thd->restore_active_arena(arena, &backup);
return res;
}
@ -4079,7 +4060,7 @@ void Item_param::set_time(MYSQL_TIME *tm, timestamp_type time_type,
{
ErrConvTime str(&value.time);
make_truncated_value_warning(current_thd, Sql_condition::WARN_LEVEL_WARN,
&str, time_type, 0, 0);
&str, time_type, NULL, NULL, NULL);
set_zero_time(&value.time, time_type);
}
maybe_null= 0;

View File

@ -1,6 +1,6 @@
/*
Copyright (c) 2000, 2011, Oracle and/or its affiliates.
Copyright (c) 2008-2011 Monty Program Ab
Copyright (c) 2008, 2020, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View File

@ -1,6 +1,6 @@
/*
Copyright (c) 2000, 2012, Oracle and/or its affiliates.
Copyright (c) 2009, 2016, MariaDB
Copyright (c) 2009, 2020, MariaDB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -453,7 +453,8 @@ static bool extract_date_time(THD *thd, DATE_TIME_FORMAT *format,
{
ErrConvString err(val_begin, length, &my_charset_bin);
make_truncated_value_warning(thd, Sql_condition::WARN_LEVEL_WARN,
&err, cached_timestamp_type, 0, NullS);
&err, cached_timestamp_type,
nullptr, nullptr, nullptr);
break;
}
} while (++val != val_end);

View File

@ -562,12 +562,10 @@ void Item_window_func::print(String *str, enum_query_type query_type)
}
window_func()->print(str, query_type);
str->append(" over ");
#ifndef DBUG_OFF
if (!window_spec) // one can call dbug_print_item() anytime in gdb
if (!window_spec)
str->append(window_name);
else
#endif
window_spec->print(str, query_type);
window_spec->print(str, query_type);
}
void Item_window_func::print_for_percentile_functions(String *str, enum_query_type query_type)
{

View File

@ -646,7 +646,7 @@ class Item_sum_ntile : public Item_sum_int,
{
public:
Item_sum_ntile(THD* thd, Item* num_quantiles_expr) :
Item_sum_int(thd, num_quantiles_expr)
Item_sum_int(thd, num_quantiles_expr), n_old_val_(0)
{ }
longlong val_int()
@ -659,11 +659,13 @@ class Item_sum_ntile : public Item_sum_int,
longlong num_quantiles= get_num_quantiles();
if (num_quantiles <= 0) {
if (num_quantiles <= 0 ||
(static_cast<ulonglong>(num_quantiles) != n_old_val_ && n_old_val_ > 0))
{
my_error(ER_INVALID_NTILE_ARGUMENT, MYF(0));
return true;
}
n_old_val_= static_cast<ulonglong>(num_quantiles);
null_value= false;
ulonglong quantile_size = get_row_count() / num_quantiles;
ulonglong extra_rows = get_row_count() - quantile_size * num_quantiles;
@ -689,6 +691,7 @@ class Item_sum_ntile : public Item_sum_int,
{
current_row_count_= 0;
partition_row_count_= 0;
n_old_val_= 0;
}
const char*func_name() const
@ -710,6 +713,7 @@ class Item_sum_ntile : public Item_sum_int,
private:
longlong get_num_quantiles() { return args[0]->val_int(); }
ulonglong n_old_val_;
};
class Item_sum_percentile_disc : public Item_sum_num,

View File

@ -5393,8 +5393,7 @@ bool Query_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info)
}
else if (strcmp("COMMIT", query) == 0)
{
if (my_b_write(&cache, (uchar*) "BEGIN", 5) ||
my_b_printf(&cache, "\n%s\n", print_event_info->delimiter))
if (my_b_printf(&cache, "START TRANSACTION\n%s\n", print_event_info->delimiter))
goto err;
}
}
@ -8293,7 +8292,8 @@ Gtid_log_event::print(FILE *file, PRINT_EVENT_INFO *print_event_info)
goto err;
}
if (!(flags2 & FL_STANDALONE))
if (my_b_printf(&cache, is_flashback ? "COMMIT\n%s\n" : "BEGIN\n%s\n", print_event_info->delimiter))
if (my_b_printf(&cache, is_flashback ? "COMMIT\n%s\n" :
"START TRANSACTION\n%s\n", print_event_info->delimiter))
goto err;
return cache.flush_data();
@ -8976,7 +8976,7 @@ bool Xid_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info)
my_b_printf(&cache, "\tXid = %s\n", buf))
goto err;
}
if (my_b_printf(&cache, is_flashback ? "BEGIN%s\n" : "COMMIT%s\n",
if (my_b_printf(&cache, is_flashback ? "START TRANSACTION%s\n" : "COMMIT%s\n",
print_event_info->delimiter))
goto err;
@ -14343,7 +14343,6 @@ end:
if (is_table_scan || is_index_scan)
issue_long_find_row_warning(get_general_type_code(), m_table->alias.c_ptr(),
is_index_scan, rgi);
table->default_column_bitmaps();
DBUG_RETURN(error);
}
@ -14674,7 +14673,13 @@ Update_rows_log_event::do_exec_row(rpl_group_info *rgi)
#endif /* WSREP_PROC_INFO */
thd_proc_info(thd, message);
int error= find_row(rgi);
// Temporary fix to find out why it fails [/Matz]
memcpy(m_table->read_set->bitmap, m_cols.bitmap, (m_table->read_set->n_bits + 7) / 8);
memcpy(m_table->write_set->bitmap, m_cols_ai.bitmap, (m_table->write_set->n_bits + 7) / 8);
m_table->mark_columns_per_binlog_row_image();
int error= find_row(rgi);
if (unlikely(error))
{
/*
@ -14744,11 +14749,6 @@ Update_rows_log_event::do_exec_row(rpl_group_info *rgi)
goto err;
}
// Temporary fix to find out why it fails [/Matz]
memcpy(m_table->read_set->bitmap, m_cols.bitmap, (m_table->read_set->n_bits + 7) / 8);
memcpy(m_table->write_set->bitmap, m_cols_ai.bitmap, (m_table->write_set->n_bits + 7) / 8);
m_table->mark_columns_per_binlog_row_image();
if (m_vers_from_plain && m_table->versioned(VERS_TIMESTAMP))
m_table->vers_update_fields();
error= m_table->file->ha_update_row(m_table->record[1], m_table->record[0]);

View File

@ -1,5 +1,5 @@
/* Copyright (c) 2000, 2016, Oracle and/or its affiliates.
Copyright (c) 2012, 2018, MariaDB Corporation.
Copyright (c) 2012, 2020, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -45,6 +45,7 @@
#include <violite.h>
#include <signal.h>
#include "probes_mysql.h"
#include <debug_sync.h>
#include "proxy_protocol.h"
#ifdef EMBEDDED_LIBRARY
@ -489,6 +490,17 @@ net_write_command(NET *net,uchar command,
DBUG_ENTER("net_write_command");
DBUG_PRINT("enter",("length: %lu", (ulong) len));
DBUG_EXECUTE_IF("simulate_error_on_packet_write",
{
if (command == COM_BINLOG_DUMP)
{
net->last_errno = ER_NET_ERROR_ON_WRITE;
DBUG_ASSERT(!debug_sync_set_action(
(THD *)net->thd,
STRING_WITH_LEN("now SIGNAL parked WAIT_FOR continue")));
DBUG_RETURN(true);
}
};);
MYSQL_NET_WRITE_START(length);
buff[4]=command; /* For first packet */

View File

@ -875,7 +875,6 @@ void partition_info::vers_set_hist_part(THD *thd)
if (next->range_value > thd->query_start())
return;
}
goto warn;
}
return;
warn:

View File

@ -189,7 +189,13 @@ bool sysvartrack_validate_value(THD *thd, const char *str, size_t len)
char *token, *lasts= NULL;
size_t rest= var_list.length;
if (!var_list.str || var_list.length == 0 ||
if (!var_list.str)
{
my_error(ER_WRONG_VALUE_FOR_VAR, MYF(0),
"session_track_system_variables", "NULL");
return false;
}
if (var_list.length == 0 ||
!strcmp(var_list.str, "*"))
{
return false;

View File

@ -3684,7 +3684,8 @@ static int request_dump(THD *thd, MYSQL* mysql, Master_info* mi,
in the future, we should do a better error analysis, but for
now we just fill up the error log :-)
*/
if (mysql_errno(mysql) == ER_NET_READ_INTERRUPTED)
if (mysql_errno(mysql) == ER_NET_READ_INTERRUPTED ||
mysql_errno(mysql) == ER_NET_ERROR_ON_WRITE)
*suppress_warnings= TRUE; // Suppress reconnect warning
else
sql_print_error("Error on COM_BINLOG_DUMP: %d %s, will retry in %d secs",

View File

@ -5430,6 +5430,24 @@ static void mark_real_tables_as_free_for_reuse(TABLE_LIST *table_list)
}
}
int TABLE::fix_vcol_exprs(THD *thd)
{
for (Field **vf= vfield; vf && *vf; vf++)
if (fix_session_vcol_expr(thd, (*vf)->vcol_info))
return 1;
for (Field **df= default_field; df && *df; df++)
if ((*df)->default_value &&
fix_session_vcol_expr(thd, (*df)->default_value))
return 1;
for (Virtual_column_info **cc= check_constraints; cc && *cc; cc++)
if (fix_session_vcol_expr(thd, (*cc)))
return 1;
return 0;
}
static bool fix_all_session_vcol_exprs(THD *thd, TABLE_LIST *tables)
{
@ -5437,36 +5455,27 @@ static bool fix_all_session_vcol_exprs(THD *thd, TABLE_LIST *tables)
TABLE_LIST *first_not_own= thd->lex->first_not_own_table();
DBUG_ENTER("fix_session_vcol_expr");
for (TABLE_LIST *table= tables; table && table != first_not_own;
int error= 0;
for (TABLE_LIST *table= tables; table && table != first_not_own && !error;
table= table->next_global)
{
TABLE *t= table->table;
if (!table->placeholder() && t->s->vcols_need_refixing &&
table->lock_type >= TL_WRITE_ALLOW_WRITE)
{
Query_arena *stmt_backup= thd->stmt_arena;
if (thd->stmt_arena->is_conventional())
thd->stmt_arena= t->expr_arena;
if (table->security_ctx)
thd->security_ctx= table->security_ctx;
for (Field **vf= t->vfield; vf && *vf; vf++)
if (fix_session_vcol_expr(thd, (*vf)->vcol_info))
goto err;
for (Field **df= t->default_field; df && *df; df++)
if ((*df)->default_value &&
fix_session_vcol_expr(thd, (*df)->default_value))
goto err;
for (Virtual_column_info **cc= t->check_constraints; cc && *cc; cc++)
if (fix_session_vcol_expr(thd, (*cc)))
goto err;
error= t->fix_vcol_exprs(thd);
thd->security_ctx= save_security_ctx;
thd->stmt_arena= stmt_backup;
}
}
DBUG_RETURN(0);
err:
thd->security_ctx= save_security_ctx;
DBUG_RETURN(1);
DBUG_RETURN(error);
}

View File

@ -3775,7 +3775,6 @@ void select_dumpvar::cleanup()
Query_arena::Type Query_arena::type() const
{
DBUG_ASSERT(0); /* Should never be called */
return STATEMENT;
}

View File

@ -1021,7 +1021,7 @@ public:
/* We build without RTTI, so dynamic_cast can't be used. */
enum Type
{
STATEMENT, PREPARED_STATEMENT, STORED_PROCEDURE
STATEMENT, PREPARED_STATEMENT, STORED_PROCEDURE, TABLE_ARENA
};
Query_arena(MEM_ROOT *mem_root_arg, enum enum_state state_arg) :
@ -3938,13 +3938,20 @@ public:
return 0;
}
bool is_item_tree_change_register_required()
{
return !stmt_arena->is_conventional()
|| stmt_arena->type() == Query_arena::TABLE_ARENA;
}
void change_item_tree(Item **place, Item *new_value)
{
DBUG_ENTER("THD::change_item_tree");
DBUG_PRINT("enter", ("Register: %p (%p) <- %p",
*place, place, new_value));
/* TODO: check for OOM condition here */
if (!stmt_arena->is_conventional())
if (is_item_tree_change_register_required())
nocheck_register_item_tree_change(place, *place, mem_root);
*place= new_value;
DBUG_VOID_RETURN;
@ -4440,14 +4447,13 @@ public:
void push_warning_truncated_value_for_field(Sql_condition::enum_warning_level
level, const char *type_str,
const char *val,
const TABLE_SHARE *s,
const char *db_name,
const char *table_name,
const char *name)
{
DBUG_ASSERT(name);
char buff[MYSQL_ERRMSG_SIZE];
CHARSET_INFO *cs= &my_charset_latin1;
const char *db_name= s ? s->db.str : NULL;
const char *table_name= s ? s->table_name.str : NULL;
if (!db_name)
db_name= "";
@ -4464,12 +4470,13 @@ public:
bool totally_useless_value,
const char *type_str,
const char *val,
const TABLE_SHARE *s,
const char *db_name,
const char *table_name,
const char *field_name)
{
if (field_name)
push_warning_truncated_value_for_field(level, type_str, val,
s, field_name);
db_name, table_name, field_name);
else if (totally_useless_value)
push_warning_wrong_value(level, type_str, val);
else

View File

@ -7916,8 +7916,8 @@ void mysql_parse(THD *thd, char *rawbuf, uint length,
sp_cache_enforce_limit(thd->sp_package_spec_cache, stored_program_cache_size);
sp_cache_enforce_limit(thd->sp_package_body_cache, stored_program_cache_size);
thd->end_statement();
thd->Item_change_list::rollback_item_tree_changes();
thd->cleanup_after_query();
DBUG_ASSERT(thd->Item_change_list::is_empty());
}
else
{

View File

@ -1,6 +1,6 @@
/*
Copyright (c) 2005, 2018, Oracle and/or its affiliates.
Copyright (c) 2010, 2018, MariaDB Corporation
Copyright (c) 2010, 2020, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -2276,27 +2276,30 @@ static bool do_uninstall(THD *thd, TABLE *table, const LEX_CSTRING *name)
if (!(plugin= plugin_find_internal(name, MYSQL_ANY_PLUGIN)) ||
plugin->state & (PLUGIN_IS_UNINITIALIZED | PLUGIN_IS_DYING))
{
myf MyFlags= thd->lex->if_exists() ? ME_NOTE : 0;
my_error(ER_SP_DOES_NOT_EXIST, MyFlags, "PLUGIN", name->str);
return !MyFlags;
}
if (!plugin->plugin_dl)
{
my_error(ER_PLUGIN_DELETE_BUILTIN, MYF(0));
return 1;
}
if (plugin->load_option == PLUGIN_FORCE_PLUS_PERMANENT)
{
my_error(ER_PLUGIN_IS_PERMANENT, MYF(0), name->str);
return 1;
// maybe plugin is present in mysql.plugin; postpone the error
plugin= nullptr;
}
plugin->state= PLUGIN_IS_DELETED;
if (plugin->ref_count)
push_warning(thd, Sql_condition::WARN_LEVEL_WARN,
WARN_PLUGIN_BUSY, ER_THD(thd, WARN_PLUGIN_BUSY));
else
reap_needed= true;
if (plugin)
{
if (!plugin->plugin_dl)
{
my_error(ER_PLUGIN_DELETE_BUILTIN, MYF(0));
return 1;
}
if (plugin->load_option == PLUGIN_FORCE_PLUS_PERMANENT)
{
my_error(ER_PLUGIN_IS_PERMANENT, MYF(0), name->str);
return 1;
}
plugin->state= PLUGIN_IS_DELETED;
if (plugin->ref_count)
push_warning(thd, Sql_condition::WARN_LEVEL_WARN,
WARN_PLUGIN_BUSY, ER_THD(thd, WARN_PLUGIN_BUSY));
else
reap_needed= true;
}
uchar user_key[MAX_KEY_LENGTH];
table->use_all_columns();
@ -2321,6 +2324,12 @@ static bool do_uninstall(THD *thd, TABLE *table, const LEX_CSTRING *name)
return 1;
}
}
else if (!plugin)
{
const myf MyFlags= thd->lex->if_exists() ? ME_NOTE : 0;
my_error(ER_SP_DOES_NOT_EXIST, MyFlags, "PLUGIN", name->str);
return !MyFlags;
}
return 0;
}

View File

@ -10495,8 +10495,9 @@ err_new_table_cleanup:
bool save_abort_on_warning= thd->abort_on_warning;
thd->abort_on_warning= true;
thd->push_warning_truncated_value_for_field(Sql_condition::WARN_LEVEL_WARN,
f_type, f_val, new_table
? new_table->s : table->s,
f_type, f_val,
alter_ctx.new_db.str,
alter_ctx.new_name.str,
alter_ctx.datetime_field->
field_name.str);
thd->abort_on_warning= save_abort_on_warning;

View File

@ -18,7 +18,6 @@
/* Functions to handle date and time */
#include "mariadb.h"
#include "sql_priv.h"
#include "sql_time.h"
#include "tztime.h" // struct Time_zone
#include "sql_class.h" // THD
@ -297,7 +296,7 @@ check_date_with_warn(THD *thd, const MYSQL_TIME *ltime,
{
ErrConvTime str(ltime);
make_truncated_value_warning(thd, Sql_condition::WARN_LEVEL_WARN,
&str, ts_type, 0, 0);
&str, ts_type, nullptr, nullptr, nullptr);
return true;
}
return false;
@ -431,7 +430,7 @@ str_to_datetime_with_warn(THD *thd, CHARSET_INFO *cs,
const char *str, size_t length, MYSQL_TIME *to,
date_mode_t mode)
{
Temporal::Warn_push warn(thd, NULL, NullS, to, mode);
Temporal::Warn_push warn(thd, nullptr, nullptr, nullptr, to, mode);
Temporal_hybrid *t= new(to) Temporal_hybrid(thd, &warn, str, length, cs, mode);
return !t->is_valid_temporal();
}
@ -441,7 +440,9 @@ bool double_to_datetime_with_warn(THD *thd, double value, MYSQL_TIME *ltime,
date_mode_t fuzzydate,
const TABLE_SHARE *s, const char *field_name)
{
Temporal::Warn_push warn(thd, s, field_name, ltime, fuzzydate);
Temporal::Warn_push warn(thd, s ? s->db.str : nullptr,
s ? s->table_name.str : nullptr,
field_name, ltime, fuzzydate);
Temporal_hybrid *t= new (ltime) Temporal_hybrid(thd, &warn, value, fuzzydate);
return !t->is_valid_temporal();
}
@ -452,7 +453,9 @@ bool decimal_to_datetime_with_warn(THD *thd, const my_decimal *value,
date_mode_t fuzzydate,
const TABLE_SHARE *s, const char *field_name)
{
Temporal::Warn_push warn(thd, s, field_name, ltime, fuzzydate);
Temporal::Warn_push warn(thd, s ? s->db.str : nullptr,
s ? s->table_name.str : nullptr,
field_name, ltime, fuzzydate);
Temporal_hybrid *t= new (ltime) Temporal_hybrid(thd, &warn, value, fuzzydate);
return !t->is_valid_temporal();
}
@ -467,7 +470,9 @@ bool int_to_datetime_with_warn(THD *thd, const Longlong_hybrid &nr,
Note: conversion from an integer to TIME can overflow to '838:59:59.999999',
so the conversion result can have fractional digits.
*/
Temporal::Warn_push warn(thd, s, field_name, ltime, fuzzydate);
Temporal::Warn_push warn(thd, s ? s->db.str : nullptr,
s ? s->table_name.str : nullptr,
field_name, ltime, fuzzydate);
Temporal_hybrid *t= new (ltime) Temporal_hybrid(thd, &warn, nr, fuzzydate);
return !t->is_valid_temporal();
}
@ -897,12 +902,13 @@ void make_truncated_value_warning(THD *thd,
Sql_condition::enum_warning_level level,
const ErrConv *sval,
timestamp_type time_type,
const TABLE_SHARE *s, const char *field_name)
const char *db_name, const char *table_name,
const char *field_name)
{
const char *type_str= Temporal::type_name_by_timestamp_type(time_type);
return thd->push_warning_wrong_or_truncated_value
(level, time_type <= MYSQL_TIMESTAMP_ERROR, type_str, sval->ptr(),
s, field_name);
db_name, table_name, field_name);
}

View File

@ -1,5 +1,5 @@
/* Copyright (c) 2006, 2010, Oracle and/or its affiliates.
Copyright (c) 2011, 2016, MariaDB
Copyright (c) 2011, 2020, MariaDB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -78,7 +78,7 @@ void make_truncated_value_warning(THD *thd,
Sql_condition::enum_warning_level level,
const ErrConv *str_val,
timestamp_type time_type,
const TABLE_SHARE *s,
const char *db_name, const char *table_name,
const char *field_name);
extern DATE_TIME_FORMAT *date_time_format_make(timestamp_type format_type,

View File

@ -401,17 +401,21 @@ bool Sec6::convert_to_mysql_time(THD *thd, int *warn, MYSQL_TIME *ltime,
void Temporal::push_conversion_warnings(THD *thd, bool totally_useless_value,
int warn,
const char *typestr,
const TABLE_SHARE *s,
const char *db_name,
const char *table_name,
const char *field_name,
const char *value)
{
if (MYSQL_TIME_WARN_HAVE_WARNINGS(warn))
thd->push_warning_wrong_or_truncated_value(Sql_condition::WARN_LEVEL_WARN,
totally_useless_value,
typestr, value, s, field_name);
typestr, value,
db_name, table_name,
field_name);
else if (MYSQL_TIME_WARN_HAVE_NOTES(warn))
thd->push_warning_wrong_or_truncated_value(Sql_condition::WARN_LEVEL_NOTE,
false, typestr, value, s,
false, typestr, value,
db_name, table_name,
field_name);
}
@ -4454,7 +4458,9 @@ bool Type_handler::Item_get_date_with_warn(THD *thd, Item *item,
MYSQL_TIME *ltime,
date_mode_t fuzzydate) const
{
Temporal::Warn_push warn(thd, item->field_table_or_null(),
const TABLE_SHARE *s= item->field_table_or_null();
Temporal::Warn_push warn(thd, s ? s->db.str : nullptr,
s ? s->table_name.str : nullptr,
item->field_name_or_null(), ltime, fuzzydate);
Item_get_date(thd, item, &warn, ltime, fuzzydate);
return ltime->time_type < 0;
@ -4466,7 +4472,9 @@ bool Type_handler::Item_func_hybrid_field_type_get_date_with_warn(THD *thd,
MYSQL_TIME *ltime,
date_mode_t mode) const
{
Temporal::Warn_push warn(thd, item->field_table_or_null(),
const TABLE_SHARE *s= item->field_table_or_null();
Temporal::Warn_push warn(thd, s ? s->db.str : nullptr,
s ? s->table_name.str : nullptr,
item->field_name_or_null(), ltime, mode);
Item_func_hybrid_field_type_get_date(thd, item, &warn, ltime, mode);
return ltime->time_type < 0;
@ -8284,7 +8292,8 @@ static void literal_warn(THD *thd, const Item *item,
ErrConvString err(str, length, cs);
thd->push_warning_wrong_or_truncated_value(
Sql_condition::time_warn_level(st->warnings),
false, typestr, err.ptr(), NULL, NullS);
false, typestr, err.ptr(),
nullptr, nullptr, nullptr);
}
}
else if (send_error)

View File

@ -1,7 +1,7 @@
#ifndef SQL_TYPE_H_INCLUDED
#define SQL_TYPE_H_INCLUDED
/*
Copyright (c) 2015 MariaDB Foundation.
Copyright (c) 2015, 2020, MariaDB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -663,34 +663,39 @@ public:
public:
void push_conversion_warnings(THD *thd, bool totally_useless_value,
date_mode_t mode, timestamp_type tstype,
const TABLE_SHARE* s, const char *name)
const char *db_name, const char *table_name,
const char *name)
{
const char *typestr= tstype >= 0 ? type_name_by_timestamp_type(tstype) :
mode & (TIME_INTERVAL_hhmmssff | TIME_INTERVAL_DAY) ?
"interval" :
mode & TIME_TIME_ONLY ? "time" : "datetime";
Temporal::push_conversion_warnings(thd, totally_useless_value, warnings,
typestr, s, name, ptr());
typestr, db_name, table_name, name,
ptr());
}
};
class Warn_push: public Warn
{
THD *m_thd;
const TABLE_SHARE *m_s;
const char *m_name;
const MYSQL_TIME *m_ltime;
date_mode_t m_mode;
THD * const m_thd;
const char * const m_db_name;
const char * const m_table_name;
const char * const m_name;
const MYSQL_TIME * const m_ltime;
const date_mode_t m_mode;
public:
Warn_push(THD *thd, const TABLE_SHARE *s, const char *name,
const MYSQL_TIME *ltime, date_mode_t mode)
:m_thd(thd), m_s(s), m_name(name), m_ltime(ltime), m_mode(mode)
Warn_push(THD *thd, const char *db_name, const char *table_name,
const char *name, const MYSQL_TIME *ltime, date_mode_t mode)
: m_thd(thd), m_db_name(db_name), m_table_name(table_name), m_name(name),
m_ltime(ltime), m_mode(mode)
{ }
~Warn_push()
{
if (warnings)
push_conversion_warnings(m_thd, m_ltime->time_type < 0,
m_mode, m_ltime->time_type, m_s, m_name);
m_mode, m_ltime->time_type,
m_db_name, m_table_name, m_name);
}
};
@ -731,7 +736,8 @@ public:
}
static void push_conversion_warnings(THD *thd, bool totally_useless_value, int warn,
const char *type_name,
const TABLE_SHARE *s,
const char *db_name,
const char *table_name,
const char *field_name,
const char *value);
/*

View File

@ -3695,6 +3695,12 @@ static bool fix_tp_min_threads(sys_var *, THD *, enum_var_type)
static bool check_threadpool_size(sys_var *self, THD *thd, set_var *var)
{
#ifdef _WIN32
if (threadpool_mode != TP_MODE_GENERIC)
return false;
#endif
ulonglong v= var->save_result.ulonglong_value;
if (v > threadpool_max_size)
{

View File

@ -501,7 +501,10 @@ public:
String str2(buff2, sizeof(buff2), charset), *res;
if (!(res=var->value->val_str(&str)))
{
var->save_result.string_value.str= 0;
var->save_result.string_value.length= 0; // safety
}
else
{
uint32 unused;
@ -895,9 +898,16 @@ public:
String str(buff, sizeof(buff), system_charset_info), *res;
if (!(res=var->value->val_str(&str)))
{
var->save_result.string_value.str= const_cast<char*>("");
var->save_result.string_value.length= 0;
}
else
var->save_result.string_value.str= thd->strmake(res->ptr(), res->length());
{
size_t len= res->length();
var->save_result.string_value.str= thd->strmake(res->ptr(), len);
var->save_result.string_value.length= len;
}
return false;
}
bool session_update(THD *thd, set_var *var)
@ -921,6 +931,7 @@ public:
{
char *ptr= (char*)(intptr)option.def_value;
var->save_result.string_value.str= ptr;
var->save_result.string_value.length= safe_strlen(ptr);
}
uchar *session_value_ptr(THD *thd, const LEX_CSTRING *base)
{

View File

@ -50,6 +50,17 @@
#define MYSQL57_GENERATED_FIELD 128
#define MYSQL57_GCOL_HEADER_SIZE 4
class Table_arena: public Query_arena
{
public:
Table_arena(MEM_ROOT *mem_root, enum enum_state state_arg) :
Query_arena(mem_root, state_arg){}
virtual Type type() const
{
return TABLE_ARENA;
}
};
struct extra2_fields
{
LEX_CUSTRING version;
@ -1106,8 +1117,9 @@ bool parse_vcol_defs(THD *thd, MEM_ROOT *mem_root, TABLE *table,
We need to use CONVENTIONAL_EXECUTION here to ensure that
any new items created by fix_fields() are not reverted.
*/
table->expr_arena= new (alloc_root(mem_root, sizeof(Query_arena)))
Query_arena(mem_root, Query_arena::STMT_CONVENTIONAL_EXECUTION);
table->expr_arena= new (alloc_root(mem_root, sizeof(Table_arena)))
Table_arena(mem_root,
Query_arena::STMT_CONVENTIONAL_EXECUTION);
if (!table->expr_arena)
DBUG_RETURN(1);

View File

@ -1637,6 +1637,7 @@ public:
TABLE *tmp_table,
TMP_TABLE_PARAM *tmp_table_param,
bool with_cleanup);
int fix_vcol_exprs(THD *thd);
Field *find_field_by_name(LEX_CSTRING *str) const;
bool export_structure(THD *thd, class Row_definition_list *defs);
bool is_splittable() { return spl_opt_info != NULL; }

View File

@ -78,6 +78,7 @@ enum TP_STATE
{
TP_STATE_IDLE,
TP_STATE_RUNNING,
TP_STATE_PENDING
};
/*

View File

@ -475,11 +475,25 @@ void tp_timeout_handler(TP_connection *c)
{
if (c->state != TP_STATE_IDLE)
return;
THD *thd=c->thd;
THD *thd= c->thd;
mysql_mutex_lock(&thd->LOCK_thd_kill);
thd->set_killed_no_mutex(KILL_WAIT_TIMEOUT);
c->priority= TP_PRIORITY_HIGH;
post_kill_notification(thd);
Vio *vio= thd->net.vio;
if (vio && (vio_pending(vio) > 0 || vio->has_data(vio)) &&
c->state == TP_STATE_IDLE)
{
/*
There is some data on that connection, i.e
i.e there was no inactivity timeout.
Don't kill.
*/
c->state= TP_STATE_PENDING;
}
else if (c->state == TP_STATE_IDLE)
{
thd->set_killed_no_mutex(KILL_WAIT_TIMEOUT);
c->priority= TP_PRIORITY_HIGH;
post_kill_notification(thd);
}
mysql_mutex_unlock(&thd->LOCK_thd_kill);
}

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2012 Monty Program Ab
/* Copyright (C) 2012, 2020, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -583,11 +583,21 @@ static my_bool timeout_check(THD *thd, pool_timer_t *timer)
DBUG_ENTER("timeout_check");
if (thd->net.reading_or_writing == 1)
{
/*
Check if connection does not have scheduler data. This happens for example
if THD belongs to a different scheduler, that is listening to extra_port.
*/
if (auto connection= (TP_connection_generic *) thd->event_scheduler.data)
TP_connection_generic *connection= (TP_connection_generic *)thd->event_scheduler.data;
if (!connection || connection->state != TP_STATE_IDLE)
{
/*
Connection does not have scheduler data. This happens for example
if THD belongs to a different scheduler, that is listening to extra_port.
*/
DBUG_RETURN(0);
}
if(connection->abs_wait_timeout < timer->current_microtime)
{
tp_timeout_handler(connection);
}
else
{
if (connection->abs_wait_timeout < timer->current_microtime)
tp_timeout_handler(connection);

Some files were not shown because too many files have changed in this diff Show More