Merge 10.3 into 10.4
This commit is contained in:
commit
9216114ce7
@ -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
|
||||
|
@ -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),
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
1
mysql-test/main/mdev-21101.opt
Normal file
1
mysql-test/main/mdev-21101.opt
Normal file
@ -0,0 +1 @@
|
||||
--thread-handling=pool-of-threads
|
43
mysql-test/main/mdev-21101.result
Normal file
43
mysql-test/main/mdev-21101.result
Normal 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;
|
54
mysql-test/main/mdev-21101.test
Normal file
54
mysql-test/main/mdev-21101.test
Normal 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;
|
||||
|
@ -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)
|
||||
|
@ -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`)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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`/*!*/;
|
||||
|
@ -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
|
||||
#
|
||||
#
|
||||
|
@ -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 #
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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
@ -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 #
|
||||
|
@ -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 #
|
||||
|
@ -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 #
|
||||
|
@ -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
|
||||
|
@ -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/*!*/;
|
||||
|
@ -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 #
|
||||
|
@ -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 #
|
||||
|
@ -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 #
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 #
|
||||
|
100
mysql-test/suite/compat/oracle/r/binlog_ptr_mysqlbinlog.result
Normal file
100
mysql-test/suite/compat/oracle/r/binlog_ptr_mysqlbinlog.result
Normal 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;
|
@ -0,0 +1 @@
|
||||
--flashback
|
117
mysql-test/suite/compat/oracle/t/binlog_ptr_mysqlbinlog.test
Normal file
117
mysql-test/suite/compat/oracle/t/binlog_ptr_mysqlbinlog.test
Normal 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
|
@ -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
|
||||
|
@ -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';
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
26
mysql-test/suite/innodb/r/alter_primary_key.result
Normal file
26
mysql-test/suite/innodb/r/alter_primary_key.result
Normal 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;
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
34
mysql-test/suite/innodb/t/alter_primary_key.test
Normal file
34
mysql-test/suite/innodb/t/alter_primary_key.test
Normal 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;
|
@ -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
|
||||
#
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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';
|
||||
|
@ -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 #
|
||||
|
22
mysql-test/suite/rpl/r/rpl_dump_request_retry_warning.result
Normal file
22
mysql-test/suite/rpl/r/rpl_dump_request_retry_warning.result
Normal 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
|
@ -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))
|
||||
|
@ -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/*!*/;
|
||||
|
20
mysql-test/suite/rpl/r/rpl_row_virt.result
Normal file
20
mysql-test/suite/rpl/r/rpl_row_virt.result
Normal 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
|
@ -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/*!*/;
|
||||
|
60
mysql-test/suite/rpl/t/rpl_dump_request_retry_warning.test
Normal file
60
mysql-test/suite/rpl/t/rpl_dump_request_retry_warning.test
Normal 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
|
27
mysql-test/suite/rpl/t/rpl_row_virt.test
Normal file
27
mysql-test/suite/rpl/t/rpl_row_virt.test
Normal 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
|
@ -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";
|
||||
|
@ -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";
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
35
sql/item.cc
35
sql/item.cc
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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,
|
||||
|
@ -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]);
|
||||
|
@ -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 */
|
||||
|
@ -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:
|
||||
|
@ -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;
|
||||
|
@ -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",
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -3775,7 +3775,6 @@ void select_dumpvar::cleanup()
|
||||
|
||||
Query_arena::Type Query_arena::type() const
|
||||
{
|
||||
DBUG_ASSERT(0); /* Should never be called */
|
||||
return STATEMENT;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
/*
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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)
|
||||
{
|
||||
|
16
sql/table.cc
16
sql/table.cc
@ -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);
|
||||
|
||||
|
@ -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; }
|
||||
|
@ -78,6 +78,7 @@ enum TP_STATE
|
||||
{
|
||||
TP_STATE_IDLE,
|
||||
TP_STATE_RUNNING,
|
||||
TP_STATE_PENDING
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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
Loading…
x
Reference in New Issue
Block a user