mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
454c003a5c
When mysqlbinlog was given the --database=X flag, it always printed 'ROLLBACK TO', but the corresponding 'SAVEPOINT' statement was not printed. The replicated filter(replicated-do/ignore-db) and binlog filter (binlog-do/ignore-db) has the same problem. They are solved in this patch together. After this patch, We always check whether the query is 'SAVEPOINT' statement or not. Because this is a literal check, 'SAVEPOINT' and 'ROLLBACK TO' statements are also binlogged in uppercase with no any comments. The binlog before this patch can be handled correctly except one case that any comments are in front of the keywords. for example: /* bla bla */ SAVEPOINT a; /* bla bla */ ROLLBACK TO a;
640 lines
22 KiB
Text
640 lines
22 KiB
Text
reset master;
|
|
set timestamp=1000000000;
|
|
drop table if exists t1,t2,t3,t4,t5,t03,t04;
|
|
create table t1 (word varchar(20));
|
|
create table t2 (id int auto_increment not null primary key);
|
|
insert into t1 values ("abirvalg");
|
|
insert into t2 values ();
|
|
load data infile '../../std_data/words.dat' into table t1;
|
|
load data infile '../../std_data/words.dat' into table t1;
|
|
load data infile '../../std_data/words.dat' into table t1;
|
|
load data infile '../../std_data/words.dat' into table t1;
|
|
load data infile '../../std_data/words.dat' into table t1;
|
|
insert into t1 values ("Alas");
|
|
flush logs;
|
|
|
|
--- Local --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
ROLLBACK/*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
drop table if exists t1,t2,t3,t4,t5,t03,t04
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
create table t1 (word varchar(20))
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
create table t2 (id int auto_increment not null primary key)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
insert into t1 values ("abirvalg")
|
|
/*!*/;
|
|
SET INSERT_ID=1/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
insert into t2 values ()
|
|
/*!*/;
|
|
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`)
|
|
/*!*/;
|
|
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`)
|
|
/*!*/;
|
|
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`)
|
|
/*!*/;
|
|
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`)
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
|
|
--- Broken LOAD DATA --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
insert into t1 values ("Alas")
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
|
|
--- --database --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
ROLLBACK/*!*/;
|
|
SET INSERT_ID=1/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
|
|
--- --position --
|
|
Warning: The option '--position' is deprecated and will be removed in a future release. Please use --start-position instead.
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
insert into t1 values ("Alas")
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
|
|
--- Remote --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
ROLLBACK/*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
drop table if exists t1,t2,t3,t4,t5,t03,t04
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
create table t1 (word varchar(20))
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
create table t2 (id int auto_increment not null primary key)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
insert into t1 values ("abirvalg")
|
|
/*!*/;
|
|
SET INSERT_ID=1/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
insert into t2 values ()
|
|
/*!*/;
|
|
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`)
|
|
/*!*/;
|
|
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`)
|
|
/*!*/;
|
|
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`)
|
|
/*!*/;
|
|
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`)
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
|
|
--- Broken LOAD DATA --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
insert into t1 values ("Alas")
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
|
|
--- --database --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
ROLLBACK/*!*/;
|
|
SET INSERT_ID=1/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
|
|
--- --position --
|
|
Warning: The option '--position' is deprecated and will be removed in a future release. Please use --start-position instead.
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
insert into t1 values ("Alas")
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
|
|
--- reading stdin --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
ROLLBACK/*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1108844556/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
SET TIMESTAMP=1108844555/*!*/;
|
|
insert t1 values (1)
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
Warning: The option '--position' is deprecated and will be removed in a future release. Please use --start-position instead.
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1108844556/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
SET TIMESTAMP=1108844555/*!*/;
|
|
insert t1 values (1)
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
drop table t1,t2;
|
|
flush logs;
|
|
flush logs;
|
|
select * from t5 /* must be (1),(1) */;
|
|
a
|
|
1
|
|
1
|
|
drop table t5;
|
|
flush logs;
|
|
create table t5 (c1 int, c2 varchar(128) character set latin1 not null);
|
|
insert into t5 values (1, date_format('2001-01-01','%W'));
|
|
set lc_time_names=de_DE;
|
|
insert into t5 values (2, date_format('2001-01-01','%W'));
|
|
set lc_time_names=en_US;
|
|
insert into t5 values (3, date_format('2001-01-01','%W'));
|
|
select * from t5 order by c1;
|
|
c1 c2
|
|
1 Monday
|
|
2 Montag
|
|
3 Monday
|
|
flush logs;
|
|
drop table t5;
|
|
select * from t5 order by c1;
|
|
c1 c2
|
|
1 Monday
|
|
2 Montag
|
|
3 Monday
|
|
drop table t5;
|
|
drop procedure if exists p1;
|
|
flush logs;
|
|
create procedure p1()
|
|
begin
|
|
select 1;
|
|
end;
|
|
//
|
|
flush logs;
|
|
call p1();
|
|
1
|
|
1
|
|
drop procedure p1;
|
|
call p1();
|
|
ERROR 42000: PROCEDURE test.p1 does not exist
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
|
|
begin
|
|
select 1;
|
|
end
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
call p1();
|
|
1
|
|
1
|
|
drop procedure p1;
|
|
flush logs;
|
|
create table t1 (a varchar(64) character set utf8);
|
|
load data infile '../../std_data/loaddata6.dat' into table t1;
|
|
set character_set_database=koi8r;
|
|
load data infile '../../std_data/loaddata6.dat' into table t1;
|
|
set character_set_database=latin1;
|
|
load data infile '../../std_data/loaddata6.dat' into table t1;
|
|
load data infile '../../std_data/loaddata6.dat' into table t1;
|
|
set character_set_database=koi8r;
|
|
load data infile '../../std_data/loaddata6.dat' into table t1;
|
|
set character_set_database=latin1;
|
|
load data infile '../../std_data/loaddata6.dat' into table t1;
|
|
load data infile '../../std_data/loaddata6.dat' into table t1 character set koi8r;
|
|
select hex(a) from t1;
|
|
hex(a)
|
|
C3BF
|
|
D0AA
|
|
C3BF
|
|
C3BF
|
|
D0AA
|
|
C3BF
|
|
D0AA
|
|
drop table t1;
|
|
flush logs;
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
create table t1 (a varchar(64) character set utf8)
|
|
/*!*/;
|
|
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`)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.collation_database=7/*!*/;
|
|
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`)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
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`)
|
|
/*!*/;
|
|
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`)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.collation_database=7/*!*/;
|
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-a-0' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-b-0' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-c-0' INTO TABLE `t1` CHARACTER SET koi8r FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
drop table t1
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
CREATE TABLE t1 (c1 CHAR(10));
|
|
FLUSH LOGS;
|
|
INSERT INTO t1 VALUES ('0123456789');
|
|
FLUSH LOGS;
|
|
DROP TABLE t1;
|
|
We expect this value to be 1
|
|
The bug being tested was that 'Query' lines were not preceded by '#'
|
|
If the line is in the table, it had to have been preceded by a '#'
|
|
|
|
SELECT COUNT(*) AS `BUG#28293_expect_1` FROM patch WHERE a LIKE '%Query%';
|
|
BUG#28293_expect_1
|
|
1
|
|
DROP TABLE patch;
|
|
FLUSH LOGS;
|
|
CREATE TABLE t1(a INT);
|
|
INSERT INTO t1 VALUES(connection_id());
|
|
FLUSH LOGS;
|
|
DROP TABLE t1;
|
|
1
|
|
DROP TABLE t1;
|
|
shell> mysqlbinlog std_data/corrupt-relay-bin.000624 > var/tmp/bug31793.sql
|
|
FLUSH LOGS;
|
|
Bug#31611 Security risk with BINLOG statement
|
|
SET BINLOG_FORMAT=ROW;
|
|
CREATE DATABASE mysqltest1;
|
|
CREATE USER untrusted@localhost;
|
|
GRANT SELECT ON mysqltest1.* TO untrusted@localhost;
|
|
SHOW GRANTS FOR untrusted@localhost;
|
|
Grants for untrusted@localhost
|
|
GRANT USAGE ON *.* TO 'untrusted'@'localhost'
|
|
GRANT SELECT ON `mysqltest1`.* TO 'untrusted'@'localhost'
|
|
USE mysqltest1;
|
|
CREATE TABLE t1 (a INT, b CHAR(64));
|
|
flush logs;
|
|
INSERT INTO t1 VALUES (1,USER());
|
|
flush logs;
|
|
mysqlbinlog var/log/master-bin.000017 > var/tmp/bug31611.sql
|
|
mysql mysqltest1 -uuntrusted < var/tmp/bug31611.sql
|
|
INSERT INTO t1 VALUES (1,USER());
|
|
ERROR 42000: INSERT command denied to user 'untrusted'@'localhost' for table 't1'
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 root@localhost
|
|
DROP DATABASE mysqltest1;
|
|
DROP USER untrusted@localhost;
|
|
Bug#32580 mysqlbinlog cannot read binlog event with user variables
|
|
USE test;
|
|
SET BINLOG_FORMAT = STATEMENT;
|
|
FLUSH LOGS;
|
|
CREATE TABLE t1 (a_real FLOAT, an_int INT, a_decimal DECIMAL(5,2), a_string CHAR(32));
|
|
SET @a_real = rand(20) * 1000;
|
|
SET @an_int = 1000;
|
|
SET @a_decimal = CAST(rand(19) * 999 AS DECIMAL(5,2));
|
|
SET @a_string = 'Just a test';
|
|
INSERT INTO t1 VALUES (@a_real, @an_int, @a_decimal, @a_string);
|
|
FLUSH LOGS;
|
|
SELECT * FROM t1;
|
|
a_real 158.883
|
|
an_int 1000
|
|
a_decimal 907.79
|
|
a_string Just a test
|
|
DROP TABLE t1;
|
|
>> mysqlbinlog var/log/master-bin.000019 > var/tmp/bug32580.sql
|
|
>> mysql test < var/tmp/bug32580.sql
|
|
SELECT * FROM t1;
|
|
a_real 158.883
|
|
an_int 1000
|
|
a_decimal 907.79
|
|
a_string Just a test
|
|
DROP TABLE t1;
|
|
SET @@global.server_id= 4294967295;
|
|
RESET MASTER;
|
|
FLUSH LOGS;
|
|
SELECT
|
|
(@a:=LOAD_FILE("MYSQLTEST_VARDIR/tmp/mysqlbinlog_bug37313.binlog"))
|
|
IS NOT NULL;
|
|
(@a:=LOAD_FILE("MYSQLTEST_VARDIR/tmp/mysqlbinlog_bug37313.binlog"))
|
|
IS NOT NULL
|
|
1
|
|
*** Unsigned server_id 4294967295 is found: 1 ***
|
|
SET @@global.server_id= 1;
|
|
RESET MASTER;
|
|
FLUSH LOGS;
|
|
RESET MASTER;
|
|
FLUSH LOGS;
|
|
#
|
|
# Test if the 'BEGIN', 'ROLLBACK' and 'COMMIT' are output if the database specified exists
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
ROLLBACK/*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
create table t1(a int) engine= innodb
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
insert into t1 (a) values (1)
|
|
/*!*/;
|
|
COMMIT/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
create table t3(a int) engine= innodb
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
insert into t3 (a) values (2)
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
ROLLBACK
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
create table t5(a int) engine= NDB
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
insert into t5 (a) values (3)
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
COMMIT
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
#
|
|
# Test if the 'BEGIN', 'ROLLBACK' and 'COMMIT' are output if the database specified does not exist
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
ROLLBACK/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
COMMIT/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
ROLLBACK
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
COMMIT
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
#
|
|
# Test if the 'SAVEPOINT', 'ROLLBACK TO' are output if the database specified exists
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
SavePoint mixed_cases
|
|
/*!*/;
|
|
use db1/*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
INSERT INTO db1.t2 VALUES("in savepoint mixed_cases")
|
|
/*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
INSERT INTO db1.t1 VALUES(40)
|
|
/*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
ROLLBACK TO mixed_cases
|
|
/*!*/;
|
|
use db1/*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
INSERT INTO db1.t2 VALUES("after rollback to")
|
|
/*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
INSERT INTO db1.t1 VALUES(50)
|
|
/*!*/;
|
|
COMMIT/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
#
|
|
# Test if the 'SAVEPOINT', 'ROLLBACK TO' are output if the database specified does not exist
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
SavePoint mixed_cases
|
|
/*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
ROLLBACK TO mixed_cases
|
|
/*!*/;
|
|
COMMIT/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
End of 5.0 tests
|
|
End of 5.1 tests
|