mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge branch '10.1' of bzr::/usr/home/serg/Abk/mysql into 10.1
This commit is contained in:
0
mysql-test/collections/default.weekly
Executable file → Normal file
0
mysql-test/collections/default.weekly
Executable file → Normal file
@ -98,8 +98,8 @@
|
||||
# --> less switching of AUTOCOMMIT mode on master side.
|
||||
#
|
||||
# 4. Never use a test object, which was direct or indirect affected by a
|
||||
# preceeding test sequence again.
|
||||
# If one preceeding test sequence hits a (sometimes not visible,
|
||||
# preceding test sequence again.
|
||||
# If one preceding test sequence hits a (sometimes not visible,
|
||||
# because the sql error code of the statement might be 0) bug
|
||||
# and these rules are ignored, a following test sequence might earn ugly
|
||||
# effects like failing 'sync_slave_with_master', crashes of the slave or
|
||||
|
@ -221,7 +221,7 @@ INSERT INTO t7 VALUES (1,3), (2,6), (3,9);
|
||||
SELECT * FROM t7 ORDER BY C1;
|
||||
|
||||
# since bug#31552/31609 idempotency is not default any longer. In order
|
||||
# the preceeding test INSERT INTO t7 to pass the mode is switched
|
||||
# the preceding test INSERT INTO t7 to pass the mode is switched
|
||||
# temprorarily
|
||||
set @@global.slave_exec_mode= 'IDEMPOTENT';
|
||||
|
||||
@ -260,7 +260,7 @@ INSERT INTO t8 VALUES (1,2,3), (2,4,6), (3,6,9);
|
||||
SELECT * FROM t8 ORDER BY a;
|
||||
|
||||
# since bug#31552/31609 idempotency is not default any longer. In order
|
||||
# the preceeding test INSERT INTO t8 to pass the mode is switched
|
||||
# the preceding test INSERT INTO t8 to pass the mode is switched
|
||||
# temprorarily
|
||||
set @@global.slave_exec_mode= 'IDEMPOTENT';
|
||||
|
||||
|
@ -64,6 +64,14 @@ select a sounds like a from t1;
|
||||
select 1 from t1 order by cast(a as char(1));
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-6134 SUBSTRING_INDEX returns wrong result for 8bit character sets when delimiter is not found
|
||||
--echo #
|
||||
SET character_set_client=latin1;
|
||||
SET character_set_connection= @test_character_set;
|
||||
SET collation_connection= @test_collation;
|
||||
SELECT COLLATION('.'), SUBSTRING_INDEX('.wwwmysqlcom', '.', -2) AS c1;
|
||||
|
||||
#
|
||||
# Bug#27580 SPACE() function collation bug?
|
||||
#
|
||||
|
@ -1818,6 +1818,17 @@ SELECT f1() FROM t1 LEFT JOIN (SELECT 1 AS a FROM t1 LIMIT 0) AS d ON 1 GROUP BY
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-5702 Incorrect results are returned with NULLIF()
|
||||
--echo #
|
||||
CREATE TABLE t1 (d DATE);
|
||||
INSERT INTO t1 VALUES ('1999-11-11'),('2014-02-04');
|
||||
SELECT DISTINCT d, CAST(d AS CHAR), NULLIF(d,"2000-01-01") AS bad, NULLIF(CAST(d AS CHAR),"2000-01-01") AS good FROM t1;
|
||||
CREATE TABLE t2 AS SELECT DISTINCT d, NULLIF(d,'2000-01-01') AS bad FROM t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
|
||||
SET NAMES latin1;
|
||||
SET sql_mode='';
|
||||
CREATE TABLE t1(a char(215) CHARACTER SET utf8 NOT NULL DEFAULT '', KEY(a));
|
||||
|
@ -1,4 +1,5 @@
|
||||
# Copyright (c) 2007 MySQL AB, 2009, 2010 Sun Microsystems, Inc.
|
||||
# Use is subject to license terms
|
||||
#
|
||||
# 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
|
||||
|
@ -9,6 +9,7 @@ innodb-buffer-page
|
||||
innodb-buffer-page-lru
|
||||
innodb-sys-foreign
|
||||
innodb-sys-foreign-col
|
||||
innodb-sys-tables
|
||||
innodb-metrics
|
||||
|
||||
[xtradb_plugin]
|
||||
@ -22,6 +23,7 @@ innodb-buffer-page
|
||||
innodb-buffer-page-lru
|
||||
innodb-sys-foreign
|
||||
innodb-sys-foreign-col
|
||||
innodb-sys-tables
|
||||
innodb-metrics
|
||||
|
||||
[xtradb]
|
||||
@ -34,4 +36,5 @@ innodb-buffer-page
|
||||
innodb-buffer-page-lru
|
||||
innodb-sys-foreign
|
||||
innodb-sys-foreign-col
|
||||
innodb-sys-tables
|
||||
innodb-metrics
|
||||
|
@ -1,4 +1,5 @@
|
||||
# Copyright (C) 2010 Sun Microsystems, Inc.
|
||||
# Use is subject to license terms
|
||||
#
|
||||
# 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
|
||||
|
@ -10,7 +10,7 @@
|
||||
# 1. We wait for $current_sessions <= $count_sessions because in the use case
|
||||
# with count_sessions.inc before and wait_until_count_sessions.inc after
|
||||
# the core of the test it could happen that the disconnects of sessions
|
||||
# belonging to the preceeding test are not finished.
|
||||
# belonging to the preceding test are not finished.
|
||||
# sessions at test begin($count_sessions) = m + n
|
||||
# sessions of the previous test which will be soon disconnected = n (n >= 0)
|
||||
# sessions at test end ($current sessions, assuming the test disconnects
|
||||
|
@ -1,5 +1,6 @@
|
||||
# -*- cperl -*-
|
||||
# Copyright (C) 2004-2008 MySQL AB
|
||||
# Use is subject to license terms
|
||||
#
|
||||
# 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,8 +1,8 @@
|
||||
#!/usr/bin/perl
|
||||
# -*- cperl -*-
|
||||
|
||||
# Copyright (c) 2004, 2013, Oracle and/or its affiliates.
|
||||
# Copyright (c) 2009, 2013, Monty Program Ab
|
||||
# Copyright (c) 2004, 2014, Oracle and/or its affiliates.
|
||||
# Copyright (c) 2009, 2014, Monty Program Ab
|
||||
#
|
||||
# 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
|
||||
@ -481,7 +481,6 @@ sub main {
|
||||
);
|
||||
mtr_error("Could not create testcase server port: $!") unless $server;
|
||||
my $server_port = $server->sockport();
|
||||
mtr_report("Using server port $server_port");
|
||||
|
||||
if ($opt_resfile) {
|
||||
resfile_init("$opt_vardir/mtr-results.txt");
|
||||
@ -525,15 +524,17 @@ sub main {
|
||||
# Send Ctrl-C to any children still running
|
||||
kill("INT", keys(%children));
|
||||
|
||||
# Wait for childs to exit
|
||||
foreach my $pid (keys %children)
|
||||
{
|
||||
my $ret_pid= waitpid($pid, 0);
|
||||
if ($ret_pid != $pid){
|
||||
mtr_report("Unknown process $ret_pid exited");
|
||||
}
|
||||
else {
|
||||
delete $children{$ret_pid};
|
||||
if (!IS_WINDOWS) {
|
||||
# Wait for children to exit
|
||||
foreach my $pid (keys %children)
|
||||
{
|
||||
my $ret_pid= waitpid($pid, 0);
|
||||
if ($ret_pid != $pid){
|
||||
mtr_report("Unknown process $ret_pid exited");
|
||||
}
|
||||
else {
|
||||
delete $children{$ret_pid};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1871,22 +1872,9 @@ sub collect_mysqld_features {
|
||||
mtr_add_arg($args, "--lc-messages-dir=%s", $path_language);
|
||||
mtr_add_arg($args, "--skip-grant-tables");
|
||||
mtr_add_arg($args, "--log-warnings=0");
|
||||
for (@opt_extra_mysqld_opt) {
|
||||
mtr_add_arg($args, $_) unless /^--binlog-format\b/;
|
||||
}
|
||||
my $euid= $>;
|
||||
if (!IS_WINDOWS and $euid == 0) {
|
||||
mtr_add_arg($args, "--user=root");
|
||||
}
|
||||
mtr_add_arg($args, "--verbose");
|
||||
mtr_add_arg($args, "--help");
|
||||
|
||||
# Need --user=root if running as *nix root user
|
||||
if (!IS_WINDOWS and $> == 0)
|
||||
{
|
||||
mtr_add_arg($args, "--user=root");
|
||||
}
|
||||
|
||||
my $exe_mysqld= find_mysqld($bindir);
|
||||
my $cmd= join(" ", $exe_mysqld, @$args);
|
||||
|
||||
@ -6537,7 +6525,7 @@ Misc options
|
||||
start-dirty Only start the servers (without initialization) for
|
||||
the first specified test case
|
||||
user-args In combination with start* and no test name, drops
|
||||
arguments to mysqld except those speficied with
|
||||
arguments to mysqld except those specified with
|
||||
--mysqld (if any)
|
||||
wait-all If --start or --start-dirty option is used, wait for all
|
||||
servers to exit before finishing the process
|
||||
|
@ -1,4 +1,5 @@
|
||||
# Copyright (C) 2005, 2007 MySQL AB
|
||||
# Use is subject to license terms
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public
|
||||
|
@ -1461,24 +1461,6 @@ t2 CREATE TABLE `t2` (
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
DROP TABLE t2;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#11938817 ALTER BEHAVIOR DIFFERENT THEN DOCUMENTED
|
||||
#
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(a INT) engine=innodb;
|
||||
INSERT INTO t1 VALUES (1), (2);
|
||||
# This should not do anything
|
||||
ALTER TABLE t1;
|
||||
affected rows: 0
|
||||
# Check that we rebuild the table
|
||||
ALTER TABLE t1 engine=innodb;
|
||||
affected rows: 2
|
||||
info: Records: 2 Duplicates: 0 Warnings: 0
|
||||
# This should also rebuild the table
|
||||
ALTER TABLE t1 FORCE;
|
||||
affected rows: 2
|
||||
info: Records: 2 Duplicates: 0 Warnings: 0
|
||||
DROP TABLE t1;
|
||||
# Bug#11748057 (formerly known as 34972): ALTER TABLE statement doesn't
|
||||
# identify correct column name.
|
||||
#
|
||||
@ -1888,8 +1870,8 @@ ALTER TABLE tm1 DEFAULT CHARACTER SET utf8;
|
||||
affected rows: 2
|
||||
info: Records: 2 Duplicates: 0 Warnings: 0
|
||||
ALTER TABLE ti1 FORCE;
|
||||
affected rows: 2
|
||||
info: Records: 2 Duplicates: 0 Warnings: 0
|
||||
affected rows: 0
|
||||
info: Records: 0 Duplicates: 0 Warnings: 0
|
||||
ALTER TABLE tm1 FORCE;
|
||||
affected rows: 2
|
||||
info: Records: 2 Duplicates: 0 Warnings: 0
|
||||
|
@ -16,3 +16,11 @@ insert t1 values (repeat('3', 8193),3,1,1);
|
||||
ALTER TABLE t1 ADD PRIMARY KEY (col4(10)) , ADD UNIQUE KEY uidx (col3);
|
||||
ERROR 23000: Duplicate entry '1' for key 'uidx'
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a INT) ENGINE = InnoDB;
|
||||
INSERT INTO t1 VALUES (2);
|
||||
ALTER TABLE t1 ADD PRIMARY KEY (a);
|
||||
ALTER TABLE t1 DROP PRIMARY KEY;
|
||||
INSERT INTO t1 VALUES (2);
|
||||
ALTER TABLE t1 ADD PRIMARY KEY (a);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
DROP TABLE t1;
|
||||
|
@ -71,6 +71,15 @@ select 1 from t1 order by cast(a as char(1));
|
||||
1
|
||||
1
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-6134 SUBSTRING_INDEX returns wrong result for 8bit character sets when delimiter is not found
|
||||
#
|
||||
SET character_set_client=latin1;
|
||||
SET character_set_connection= @test_character_set;
|
||||
SET collation_connection= @test_collation;
|
||||
SELECT COLLATION('.'), SUBSTRING_INDEX('.wwwmysqlcom', '.', -2) AS c1;
|
||||
COLLATION('.') c1
|
||||
big5_chinese_ci .wwwmysqlcom
|
||||
set names utf8;
|
||||
create table t1 (
|
||||
name varchar(10),
|
||||
|
@ -2886,6 +2886,23 @@ f1()
|
||||
00:00:01
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-5702 Incorrect results are returned with NULLIF()
|
||||
#
|
||||
CREATE TABLE t1 (d DATE);
|
||||
INSERT INTO t1 VALUES ('1999-11-11'),('2014-02-04');
|
||||
SELECT DISTINCT d, CAST(d AS CHAR), NULLIF(d,"2000-01-01") AS bad, NULLIF(CAST(d AS CHAR),"2000-01-01") AS good FROM t1;
|
||||
d CAST(d AS CHAR) bad good
|
||||
1999-11-11 1999-11-11 1999-11-11 1999-11-11
|
||||
2014-02-04 2014-02-04 2014-02-04 2014-02-04
|
||||
CREATE TABLE t2 AS SELECT DISTINCT d, NULLIF(d,'2000-01-01') AS bad FROM t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`d` date DEFAULT NULL,
|
||||
`bad` varbinary(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1, t2;
|
||||
SET NAMES latin1;
|
||||
SET sql_mode='';
|
||||
CREATE TABLE t1(a char(215) CHARACTER SET utf8 NOT NULL DEFAULT '', KEY(a));
|
||||
|
@ -75,6 +75,15 @@ select 1 from t1 order by cast(a as char(1));
|
||||
1
|
||||
1
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-6134 SUBSTRING_INDEX returns wrong result for 8bit character sets when delimiter is not found
|
||||
#
|
||||
SET character_set_client=latin1;
|
||||
SET character_set_connection= @test_character_set;
|
||||
SET collation_connection= @test_collation;
|
||||
SELECT COLLATION('.'), SUBSTRING_INDEX('.wwwmysqlcom', '.', -2) AS c1;
|
||||
COLLATION('.') c1
|
||||
cp1250_general_ci .wwwmysqlcom
|
||||
set names utf8;
|
||||
create table t1 (
|
||||
name varchar(10),
|
||||
@ -168,6 +177,15 @@ select 1 from t1 order by cast(a as char(1));
|
||||
1
|
||||
1
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-6134 SUBSTRING_INDEX returns wrong result for 8bit character sets when delimiter is not found
|
||||
#
|
||||
SET character_set_client=latin1;
|
||||
SET character_set_connection= @test_character_set;
|
||||
SET collation_connection= @test_collation;
|
||||
SELECT COLLATION('.'), SUBSTRING_INDEX('.wwwmysqlcom', '.', -2) AS c1;
|
||||
COLLATION('.') c1
|
||||
cp1250_czech_cs .wwwmysqlcom
|
||||
set names utf8;
|
||||
create table t1 (
|
||||
name varchar(10),
|
||||
|
@ -3278,6 +3278,23 @@ f1()
|
||||
00:00:01
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-5702 Incorrect results are returned with NULLIF()
|
||||
#
|
||||
CREATE TABLE t1 (d DATE);
|
||||
INSERT INTO t1 VALUES ('1999-11-11'),('2014-02-04');
|
||||
SELECT DISTINCT d, CAST(d AS CHAR), NULLIF(d,"2000-01-01") AS bad, NULLIF(CAST(d AS CHAR),"2000-01-01") AS good FROM t1;
|
||||
d CAST(d AS CHAR) bad good
|
||||
1999-11-11 1999-11-11 1999-11-11 1999-11-11
|
||||
2014-02-04 2014-02-04 2014-02-04 2014-02-04
|
||||
CREATE TABLE t2 AS SELECT DISTINCT d, NULLIF(d,'2000-01-01') AS bad FROM t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`d` date DEFAULT NULL,
|
||||
`bad` varchar(10) CHARACTER SET cp1251 DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1, t2;
|
||||
SET NAMES latin1;
|
||||
SET sql_mode='';
|
||||
CREATE TABLE t1(a char(215) CHARACTER SET utf8 NOT NULL DEFAULT '', KEY(a));
|
||||
@ -3303,5 +3320,15 @@ SELECT COALESCE(IF(test1=1, NULL, 1), test2) FROM t1;
|
||||
COALESCE(IF(test1=1, NULL, 1), test2)
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-5459 Illegal mix of collations for datetime
|
||||
#
|
||||
SET NAMES cp1251;
|
||||
CREATE TABLE t1 (dt DATETIME);
|
||||
INSERT INTO t1 VALUES ('2014-01-02 10:20:30');
|
||||
SELECT date(dt) FROM t1 WHERE (CASE WHEN 1 THEN date(dt) ELSE null END >= '2013-12-01 00:00:00');
|
||||
date(dt)
|
||||
2014-01-02
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 5.5 tests
|
||||
#
|
||||
|
@ -71,6 +71,15 @@ select 1 from t1 order by cast(a as char(1));
|
||||
1
|
||||
1
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-6134 SUBSTRING_INDEX returns wrong result for 8bit character sets when delimiter is not found
|
||||
#
|
||||
SET character_set_client=latin1;
|
||||
SET character_set_connection= @test_character_set;
|
||||
SET collation_connection= @test_collation;
|
||||
SELECT COLLATION('.'), SUBSTRING_INDEX('.wwwmysqlcom', '.', -2) AS c1;
|
||||
COLLATION('.') c1
|
||||
euckr_korean_ci .wwwmysqlcom
|
||||
set names utf8;
|
||||
create table t1 (
|
||||
name varchar(10),
|
||||
|
@ -71,6 +71,15 @@ select 1 from t1 order by cast(a as char(1));
|
||||
1
|
||||
1
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-6134 SUBSTRING_INDEX returns wrong result for 8bit character sets when delimiter is not found
|
||||
#
|
||||
SET character_set_client=latin1;
|
||||
SET character_set_connection= @test_character_set;
|
||||
SET collation_connection= @test_collation;
|
||||
SELECT COLLATION('.'), SUBSTRING_INDEX('.wwwmysqlcom', '.', -2) AS c1;
|
||||
COLLATION('.') c1
|
||||
gb2312_chinese_ci .wwwmysqlcom
|
||||
set names utf8;
|
||||
create table t1 (
|
||||
name varchar(10),
|
||||
|
@ -71,6 +71,15 @@ select 1 from t1 order by cast(a as char(1));
|
||||
1
|
||||
1
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-6134 SUBSTRING_INDEX returns wrong result for 8bit character sets when delimiter is not found
|
||||
#
|
||||
SET character_set_client=latin1;
|
||||
SET character_set_connection= @test_character_set;
|
||||
SET collation_connection= @test_collation;
|
||||
SELECT COLLATION('.'), SUBSTRING_INDEX('.wwwmysqlcom', '.', -2) AS c1;
|
||||
COLLATION('.') c1
|
||||
gbk_chinese_ci .wwwmysqlcom
|
||||
set names utf8;
|
||||
create table t1 (
|
||||
name varchar(10),
|
||||
|
@ -308,6 +308,108 @@ select 'a' regexp 'A' collate latin1_general_cs;
|
||||
select 'a' regexp 'A' collate latin1_bin;
|
||||
'a' regexp 'A' collate latin1_bin
|
||||
0
|
||||
SET @test_character_set= 'latin1';
|
||||
SET @test_collation= 'latin1_swedish_ci';
|
||||
SET @safe_character_set_server= @@character_set_server;
|
||||
SET @safe_collation_server= @@collation_server;
|
||||
SET @safe_character_set_client= @@character_set_client;
|
||||
SET @safe_character_set_results= @@character_set_results;
|
||||
SET character_set_server= @test_character_set;
|
||||
SET collation_server= @test_collation;
|
||||
CREATE DATABASE d1;
|
||||
USE d1;
|
||||
CREATE TABLE t1 (c CHAR(10), KEY(c));
|
||||
SHOW FULL COLUMNS FROM t1;
|
||||
Field Type Collation Null Key Default Extra Privileges Comment
|
||||
c char(10) latin1_swedish_ci YES MUL NULL
|
||||
INSERT INTO t1 VALUES ('aaa'),('aaaa'),('aaaaa');
|
||||
SELECT c as want3results FROM t1 WHERE c LIKE 'aaa%';
|
||||
want3results
|
||||
aaa
|
||||
aaaa
|
||||
aaaaa
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (c1 varchar(15), KEY c1 (c1(2)));
|
||||
SHOW FULL COLUMNS FROM t1;
|
||||
Field Type Collation Null Key Default Extra Privileges Comment
|
||||
c1 varchar(15) latin1_swedish_ci YES MUL NULL
|
||||
INSERT INTO t1 VALUES ('location'),('loberge'),('lotre'),('boabab');
|
||||
SELECT c1 as want3results from t1 where c1 like 'l%';
|
||||
want3results
|
||||
location
|
||||
loberge
|
||||
lotre
|
||||
SELECT c1 as want3results from t1 where c1 like 'lo%';
|
||||
want3results
|
||||
location
|
||||
loberge
|
||||
lotre
|
||||
SELECT c1 as want1result from t1 where c1 like 'loc%';
|
||||
want1result
|
||||
location
|
||||
SELECT c1 as want1result from t1 where c1 like 'loca%';
|
||||
want1result
|
||||
location
|
||||
SELECT c1 as want1result from t1 where c1 like 'locat%';
|
||||
want1result
|
||||
location
|
||||
SELECT c1 as want1result from t1 where c1 like 'locati%';
|
||||
want1result
|
||||
location
|
||||
SELECT c1 as want1result from t1 where c1 like 'locatio%';
|
||||
want1result
|
||||
location
|
||||
SELECT c1 as want1result from t1 where c1 like 'location%';
|
||||
want1result
|
||||
location
|
||||
DROP TABLE t1;
|
||||
create table t1 (a set('a') not null);
|
||||
insert into t1 values (),();
|
||||
Warnings:
|
||||
Warning 1364 Field 'a' doesn't have a default value
|
||||
select cast(a as char(1)) from t1;
|
||||
cast(a as char(1))
|
||||
|
||||
|
||||
select a sounds like a from t1;
|
||||
a sounds like a
|
||||
1
|
||||
1
|
||||
select 1 from t1 order by cast(a as char(1));
|
||||
1
|
||||
1
|
||||
1
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-6134 SUBSTRING_INDEX returns wrong result for 8bit character sets when delimiter is not found
|
||||
#
|
||||
SET character_set_client=latin1;
|
||||
SET character_set_connection= @test_character_set;
|
||||
SET collation_connection= @test_collation;
|
||||
SELECT COLLATION('.'), SUBSTRING_INDEX('.wwwmysqlcom', '.', -2) AS c1;
|
||||
COLLATION('.') c1
|
||||
latin1_swedish_ci .wwwmysqlcom
|
||||
set names utf8;
|
||||
create table t1 (
|
||||
name varchar(10),
|
||||
level smallint unsigned);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`name` varchar(10) DEFAULT NULL,
|
||||
`level` smallint(5) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
insert into t1 values ('string',1);
|
||||
select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
|
||||
concat(name,space(level)) concat(name, repeat(' ',level))
|
||||
string string
|
||||
drop table t1;
|
||||
DROP DATABASE d1;
|
||||
USE test;
|
||||
SET character_set_server= @safe_character_set_server;
|
||||
SET collation_server= @safe_collation_server;
|
||||
SET character_set_client= @safe_character_set_client;
|
||||
SET character_set_results= @safe_character_set_results;
|
||||
SET collation_connection='latin1_swedish_ci';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
delete from t1;
|
||||
@ -3460,6 +3562,23 @@ f1()
|
||||
00:00:01
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-5702 Incorrect results are returned with NULLIF()
|
||||
#
|
||||
CREATE TABLE t1 (d DATE);
|
||||
INSERT INTO t1 VALUES ('1999-11-11'),('2014-02-04');
|
||||
SELECT DISTINCT d, CAST(d AS CHAR), NULLIF(d,"2000-01-01") AS bad, NULLIF(CAST(d AS CHAR),"2000-01-01") AS good FROM t1;
|
||||
d CAST(d AS CHAR) bad good
|
||||
1999-11-11 1999-11-11 1999-11-11 1999-11-11
|
||||
2014-02-04 2014-02-04 2014-02-04 2014-02-04
|
||||
CREATE TABLE t2 AS SELECT DISTINCT d, NULLIF(d,'2000-01-01') AS bad FROM t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`d` date DEFAULT NULL,
|
||||
`bad` varchar(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1, t2;
|
||||
SET NAMES latin1;
|
||||
SET sql_mode='';
|
||||
CREATE TABLE t1(a char(215) CHARACTER SET utf8 NOT NULL DEFAULT '', KEY(a));
|
||||
|
@ -5841,6 +5841,15 @@ select 1 from t1 order by cast(a as char(1));
|
||||
1
|
||||
1
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-6134 SUBSTRING_INDEX returns wrong result for 8bit character sets when delimiter is not found
|
||||
#
|
||||
SET character_set_client=latin1;
|
||||
SET character_set_connection= @test_character_set;
|
||||
SET collation_connection= @test_collation;
|
||||
SELECT COLLATION('.'), SUBSTRING_INDEX('.wwwmysqlcom', '.', -2) AS c1;
|
||||
COLLATION('.') c1
|
||||
utf8_swedish_ci .wwwmysqlcom
|
||||
set names utf8;
|
||||
create table t1 (
|
||||
name varchar(10),
|
||||
|
@ -71,6 +71,15 @@ select 1 from t1 order by cast(a as char(1));
|
||||
1
|
||||
1
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-6134 SUBSTRING_INDEX returns wrong result for 8bit character sets when delimiter is not found
|
||||
#
|
||||
SET character_set_client=latin1;
|
||||
SET character_set_connection= @test_character_set;
|
||||
SET collation_connection= @test_collation;
|
||||
SELECT COLLATION('.'), SUBSTRING_INDEX('.wwwmysqlcom', '.', -2) AS c1;
|
||||
COLLATION('.') c1
|
||||
ucs2_general_ci .wwwmysqlcom
|
||||
set names utf8;
|
||||
create table t1 (
|
||||
name varchar(10),
|
||||
@ -4460,6 +4469,23 @@ f1()
|
||||
00:00:01
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-5702 Incorrect results are returned with NULLIF()
|
||||
#
|
||||
CREATE TABLE t1 (d DATE);
|
||||
INSERT INTO t1 VALUES ('1999-11-11'),('2014-02-04');
|
||||
SELECT DISTINCT d, CAST(d AS CHAR), NULLIF(d,"2000-01-01") AS bad, NULLIF(CAST(d AS CHAR),"2000-01-01") AS good FROM t1;
|
||||
d CAST(d AS CHAR) bad good
|
||||
1999-11-11 1999-11-11 1999-11-11 1999-11-11
|
||||
2014-02-04 2014-02-04 2014-02-04 2014-02-04
|
||||
CREATE TABLE t2 AS SELECT DISTINCT d, NULLIF(d,'2000-01-01') AS bad FROM t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`d` date DEFAULT NULL,
|
||||
`bad` varchar(10) CHARACTER SET ucs2 DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1, t2;
|
||||
SET NAMES latin1;
|
||||
SET sql_mode='';
|
||||
CREATE TABLE t1(a char(215) CHARACTER SET utf8 NOT NULL DEFAULT '', KEY(a));
|
||||
|
@ -13,6 +13,12 @@ a
|
||||
2
|
||||
3
|
||||
4
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 5.5 tests
|
||||
|
@ -2826,6 +2826,15 @@ select 1 from t1 order by cast(a as char(1));
|
||||
1
|
||||
1
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-6134 SUBSTRING_INDEX returns wrong result for 8bit character sets when delimiter is not found
|
||||
#
|
||||
SET character_set_client=latin1;
|
||||
SET character_set_connection= @test_character_set;
|
||||
SET collation_connection= @test_collation;
|
||||
SELECT COLLATION('.'), SUBSTRING_INDEX('.wwwmysqlcom', '.', -2) AS c1;
|
||||
COLLATION('.') c1
|
||||
utf16_swedish_ci .wwwmysqlcom
|
||||
set names utf8;
|
||||
create table t1 (
|
||||
name varchar(10),
|
||||
|
@ -2826,6 +2826,15 @@ select 1 from t1 order by cast(a as char(1));
|
||||
1
|
||||
1
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-6134 SUBSTRING_INDEX returns wrong result for 8bit character sets when delimiter is not found
|
||||
#
|
||||
SET character_set_client=latin1;
|
||||
SET character_set_connection= @test_character_set;
|
||||
SET collation_connection= @test_collation;
|
||||
SELECT COLLATION('.'), SUBSTRING_INDEX('.wwwmysqlcom', '.', -2) AS c1;
|
||||
COLLATION('.') c1
|
||||
utf32_swedish_ci .wwwmysqlcom
|
||||
set names utf8;
|
||||
create table t1 (
|
||||
name varchar(10),
|
||||
|
@ -5337,6 +5337,23 @@ f1()
|
||||
00:00:01
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-5702 Incorrect results are returned with NULLIF()
|
||||
#
|
||||
CREATE TABLE t1 (d DATE);
|
||||
INSERT INTO t1 VALUES ('1999-11-11'),('2014-02-04');
|
||||
SELECT DISTINCT d, CAST(d AS CHAR), NULLIF(d,"2000-01-01") AS bad, NULLIF(CAST(d AS CHAR),"2000-01-01") AS good FROM t1;
|
||||
d CAST(d AS CHAR) bad good
|
||||
1999-11-11 1999-11-11 1999-11-11 1999-11-11
|
||||
2014-02-04 2014-02-04 2014-02-04 2014-02-04
|
||||
CREATE TABLE t2 AS SELECT DISTINCT d, NULLIF(d,'2000-01-01') AS bad FROM t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`d` date DEFAULT NULL,
|
||||
`bad` varchar(10) CHARACTER SET utf8 DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1, t2;
|
||||
SET NAMES latin1;
|
||||
SET sql_mode='';
|
||||
CREATE TABLE t1(a char(215) CHARACTER SET utf8 NOT NULL DEFAULT '', KEY(a));
|
||||
|
@ -699,6 +699,51 @@ EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
#
|
||||
# Start of 5.5 tests
|
||||
#
|
||||
#
|
||||
# MDEV-6146 Can't mix (latin1_swedish_ci,NUMERIC) and (utf8_unicode_ci,IMPLICIT) for MATCH
|
||||
#
|
||||
SET NAMES utf8;
|
||||
CREATE TABLE t1
|
||||
(
|
||||
txt text COLLATE utf8_unicode_ci NOT NULL,
|
||||
uid int(11) NOT NULL,
|
||||
id2 int(11) NOT NULL,
|
||||
KEY uid (uid),
|
||||
KEY id2 (id2)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||
INSERT INTO t1 VALUES ('txt1',1234,5678);
|
||||
SELECT * FROM t1 WHERE MATCH (id2, uid, txt) AGAINST ('txt1' IN BOOLEAN MODE);
|
||||
txt uid id2
|
||||
txt1 1234 5678
|
||||
SELECT * FROM t1 WHERE MATCH (id2, uid, txt) AGAINST ('1234' IN BOOLEAN MODE);
|
||||
txt uid id2
|
||||
txt1 1234 5678
|
||||
SELECT * FROM t1 WHERE MATCH (id2, uid, txt) AGAINST ('5678' IN BOOLEAN MODE);
|
||||
txt uid id2
|
||||
txt1 1234 5678
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
txt1 text COLLATE utf8_unicode_ci NOT NULL,
|
||||
txt2 text COLLATE latin1_swedish_ci NOT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||
INSERT INTO t1 VALUES ('nnn1 x1 y1 ööö1','mmm1 ùùù1');
|
||||
INSERT INTO t1 VALUES ('nnn2 x2 y2 ööö2','mmm2 ùùù2');
|
||||
INSERT INTO t1 VALUES ('nnn3 x3 y3 ööö3','mmm3 ùùù3');
|
||||
INSERT INTO t1 VALUES ('nnn4 x4 y4 ööö4','mmm4 ùùù4');
|
||||
INSERT INTO t1 VALUES ('nnn5 x5 y5 ööö5','mmm5 ');
|
||||
SELECT * FROM t1 WHERE MATCH (txt1,txt2) AGAINST ('ööö1' IN BOOLEAN MODE);
|
||||
txt1 txt2
|
||||
nnn1 x1 y1 ööö1 mmm1 ùùù1
|
||||
SELECT * FROM t1 WHERE MATCH (txt1,txt2) AGAINST ('ùùù2' IN BOOLEAN MODE);
|
||||
txt1 txt2
|
||||
nnn2 x2 y2 ööö2 mmm2 ùùù2
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 5.5 tests
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
id int(11) auto_increment,
|
||||
title varchar(100) default '',
|
||||
|
@ -119,7 +119,7 @@ substring_index('aaaaaaaaa1','aaa',-3)
|
||||
aaaaaa1
|
||||
select substring_index('aaaaaaaaa1','aaa',-4);
|
||||
substring_index('aaaaaaaaa1','aaa',-4)
|
||||
|
||||
aaaaaaaaa1
|
||||
select substring_index('the king of thethe hill','the',-2);
|
||||
substring_index('the king of thethe hill','the',-2)
|
||||
the hill
|
||||
@ -2659,6 +2659,35 @@ NULL NULL
|
||||
8
|
||||
drop table t1;
|
||||
End of 5.1 tests
|
||||
#
|
||||
# Start of 5.3 tests
|
||||
#
|
||||
#
|
||||
# Bug#11829861: SUBSTRING_INDEX() RESULTS IN MISSING CHARACTERS WHEN USED
|
||||
# INSIDE LOWER()
|
||||
#
|
||||
SET @user_at_host = 'root@mytinyhost-PC.local';
|
||||
SELECT LOWER(SUBSTRING_INDEX(@user_at_host, '@', -1));
|
||||
LOWER(SUBSTRING_INDEX(@user_at_host, '@', -1))
|
||||
mytinyhost-pc.local
|
||||
# End of test BUG#11829861
|
||||
#
|
||||
# Bug#42404: SUBSTRING_INDEX() RESULTS ARE INCONSISTENT
|
||||
#
|
||||
CREATE TABLE t (i INT NOT NULL, c CHAR(255) NOT NULL);
|
||||
INSERT INTO t VALUES (0,'.www.mysql.com'),(1,'.wwwmysqlcom');
|
||||
SELECT i, SUBSTRING_INDEX(c, '.', -2) FROM t WHERE i = 1;
|
||||
i SUBSTRING_INDEX(c, '.', -2)
|
||||
1 .wwwmysqlcom
|
||||
SELECT i, SUBSTRING_INDEX(c, '.', -2) FROM t;
|
||||
i SUBSTRING_INDEX(c, '.', -2)
|
||||
0 mysql.com
|
||||
1 .wwwmysqlcom
|
||||
DROP TABLE t;
|
||||
# End of test BUG#42404
|
||||
#
|
||||
# End of 5.3 tests
|
||||
#
|
||||
Start of 5.4 tests
|
||||
SELECT format(12345678901234567890.123, 3);
|
||||
format(12345678901234567890.123, 3)
|
||||
|
@ -2474,6 +2474,15 @@ v 2v,2v
|
||||
NULL 1c,2v,2v
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# MDEV-6129: Server crashes during UNION with ORDER BY field IS NULL
|
||||
#
|
||||
SET sql_mode='ONLY_FULL_GROUP_BY';
|
||||
SELECT 1 AS test UNION SELECT 2 AS test ORDER BY test IS NULL ASC;
|
||||
test
|
||||
1
|
||||
2
|
||||
SET sql_mode='';
|
||||
#
|
||||
# Bug #58782
|
||||
# Missing rows with SELECT .. WHERE .. IN subquery
|
||||
# with full GROUP BY and no aggr
|
||||
|
@ -638,6 +638,35 @@ set optimizer_switch=@save_optimizer_switch;
|
||||
drop table t1,t2,t3;
|
||||
End of 5.2 tests
|
||||
#
|
||||
# Bug mdev-6116: an equality in the conjunction of HAVING
|
||||
# and IN subquery in WHERE
|
||||
# (The bug is caused by the same problem as bug mdev-5927)
|
||||
#
|
||||
CREATE TABLE t1 (f_key varchar(1), f_nokey varchar(1), INDEX(f_key));
|
||||
INSERT INTO t1 VALUES ('v','v'),('s','s');
|
||||
CREATE TABLE t2 (f_int int, f_key varchar(1), INDEX(f_key));
|
||||
INSERT INTO t2 VALUES
|
||||
(4,'j'),(6,'v'),(3,'c'),(5,'m'),(3,'d'),(2,'d'),(2,'y'),
|
||||
(9,'t'),(3,'d'),(8,'s'),(1,'r'),(8,'m'),(8,'b'),(5,'x');
|
||||
SELECT t2.f_int FROM t1 INNER JOIN t2 ON (t2.f_key = t1.f_nokey)
|
||||
WHERE t1.f_nokey IN (
|
||||
SELECT t1.f_key FROM t1, t2 WHERE t1.f_key = t2.f_key
|
||||
) HAVING t2.f_int >= 0 AND t2.f_int != 0;
|
||||
f_int
|
||||
6
|
||||
8
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# Bug mdev-5927: an equality in the conjunction of HAVING
|
||||
# and an equality in WHERE
|
||||
#
|
||||
CREATE TABLE t1 (pk int PRIMARY KEY, f int NOT NULL, INDEX(f));
|
||||
INSERT INTO t1 VALUES (1,0), (2,8);
|
||||
SELECT * FROM t1 WHERE f = 2 HAVING ( pk IN ( SELECT 9 ) AND f != 0 );
|
||||
pk f
|
||||
DROP TABLE t1;
|
||||
End of 5.3 tests
|
||||
#
|
||||
# Bug mdev-5160: two-way join with HAVING over the second table
|
||||
#
|
||||
CREATE TABLE t1 (c1 varchar(6)) ENGINE=MyISAM;
|
||||
|
@ -359,3 +359,184 @@ Note 1831 Duplicate index 'i4' defined on the table 'test.t1'. This is deprecate
|
||||
SET DEBUG_SYNC= 'RESET';
|
||||
DROP TABLE t1;
|
||||
SET DEBUG_SYNC= 'RESET';
|
||||
#
|
||||
#BUG#13975225:ONLINE OPTIMIZE TABLE FOR INNODB TABLES
|
||||
#
|
||||
SET DEBUG_SYNC= 'alter_table_inplace_after_lock_downgrade SIGNAL downgraded WAIT_FOR continue';
|
||||
#Setting up INNODB table.
|
||||
CREATE TABLE t1(fld1 INT, fld2 INT, fld3 INT) ENGINE= INNODB;
|
||||
INSERT INTO t1 VALUES (155, 45, 55);
|
||||
#Concurrent INSERT, UPDATE, SELECT and DELETE is supported
|
||||
#during OPTIMIZE TABLE operation for INNODB tables.
|
||||
connection default;
|
||||
#OPTIMIZE TABLE operation.
|
||||
OPTIMIZE TABLE t1;
|
||||
connection con1;
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR downgraded';
|
||||
# With the patch, concurrent DML operation succeeds.
|
||||
INSERT INTO t1 VALUES (10, 11, 12);
|
||||
UPDATE t1 SET fld1= 20 WHERE fld1= 155;
|
||||
DELETE FROM t1 WHERE fld1= 20;
|
||||
SELECT * from t1;
|
||||
fld1 fld2 fld3
|
||||
10 11 12
|
||||
SET DEBUG_SYNC= 'now SIGNAL continue';
|
||||
connection default;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
|
||||
test.t1 optimize status OK
|
||||
DROP TABLE t1;
|
||||
SET DEBUG_SYNC= 'RESET';
|
||||
#Concurrent INSERT, UPDATE, SELECT and DELETE is supported
|
||||
#during OPTIMIZE TABLE operation for Partitioned table.
|
||||
SET DEBUG_SYNC= 'alter_table_inplace_after_lock_downgrade SIGNAL downgraded WAIT_FOR continue';
|
||||
#Setup PARTITIONED table.
|
||||
CREATE TABLE t1(fld1 INT) ENGINE= INNODB PARTITION BY HASH(fld1) PARTITIONS 4;
|
||||
INSERT INTO t1 VALUES(10);
|
||||
#OPTIMIZE TABLE operation.
|
||||
OPTIMIZE TABLE t1;
|
||||
connection con1;
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR downgraded';
|
||||
# With the patch, concurrent DML operation succeeds.
|
||||
INSERT INTO t1 VALUES (30);
|
||||
UPDATE t1 SET fld1= 20 WHERE fld1= 10;
|
||||
DELETE FROM t1 WHERE fld1= 20;
|
||||
SELECT * from t1;
|
||||
fld1
|
||||
30
|
||||
SET DEBUG_SYNC= 'now SIGNAL continue';
|
||||
connection default;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
|
||||
test.t1 optimize status OK
|
||||
DROP TABLE t1;
|
||||
SET DEBUG_SYNC= 'RESET';
|
||||
#ALTER TABLE FORCE and ALTER TABLE ENGINE uses online rebuild
|
||||
#of the table.
|
||||
CREATE TABLE t1(fld1 INT, fld2 INT) ENGINE=INNODB;
|
||||
INSERT INTO t1 VALUES(10, 20);
|
||||
ALTER TABLE t1 FORCE;
|
||||
affected rows: 0
|
||||
info: Records: 0 Duplicates: 0 Warnings: 0
|
||||
ALTER TABLE t1 ENGINE=INNODB;
|
||||
affected rows: 0
|
||||
info: Records: 0 Duplicates: 0 Warnings: 0
|
||||
#ALTER TABLE FORCE, ALTER TABLE ENGINE and OPTIMIZE TABLE uses
|
||||
#table copy when the old_alter_table enabled.
|
||||
SET SESSION old_alter_table= TRUE;
|
||||
affected rows: 0
|
||||
ALTER TABLE t1 FORCE;
|
||||
affected rows: 1
|
||||
info: Records: 1 Duplicates: 0 Warnings: 0
|
||||
ALTER TABLE t1 ENGINE= INNODB;
|
||||
affected rows: 1
|
||||
info: Records: 1 Duplicates: 0 Warnings: 0
|
||||
SET DEBUG_SYNC= 'alter_table_copy_after_lock_upgrade SIGNAL upgraded';
|
||||
affected rows: 0
|
||||
#OPTIMIZE TABLE operation using table copy.
|
||||
OPTIMIZE TABLE t1;
|
||||
connection con1;
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR upgraded';
|
||||
affected rows: 0
|
||||
INSERT INTO t1 VALUES(10, 20);
|
||||
affected rows: 1
|
||||
connection default;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
|
||||
test.t1 optimize status OK
|
||||
affected rows: 2
|
||||
SET DEBUG_SYNC= 'RESET';
|
||||
affected rows: 0
|
||||
SET SESSION old_alter_table= FALSE;
|
||||
affected rows: 0
|
||||
#ALTER TABLE FORCE and ALTER TABLE ENGINE uses table copy
|
||||
#when ALGORITHM COPY is used.
|
||||
ALTER TABLE t1 FORCE, ALGORITHM= COPY;
|
||||
affected rows: 2
|
||||
info: Records: 2 Duplicates: 0 Warnings: 0
|
||||
ALTER TABLE t1 ENGINE= INNODB, ALGORITHM= COPY;
|
||||
affected rows: 2
|
||||
info: Records: 2 Duplicates: 0 Warnings: 0
|
||||
DROP TABLE t1;
|
||||
#OPTIMIZE TABLE on a table with FULLTEXT index uses
|
||||
#ALTER TABLE FORCE using COPY algorithm here. This
|
||||
#test case ensures the COPY table debug sync point is hit.
|
||||
SET DEBUG_SYNC= 'alter_table_copy_after_lock_upgrade SIGNAL upgraded';
|
||||
#Setup a table with FULLTEXT index.
|
||||
connection default;
|
||||
CREATE TABLE t1(fld1 CHAR(10), FULLTEXT(fld1)) ENGINE= INNODB;
|
||||
INSERT INTO t1 VALUES("String1");
|
||||
#OPTIMIZE TABLE operation.
|
||||
OPTIMIZE TABLE t1;
|
||||
connection con1;
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR upgraded';
|
||||
INSERT INTO t1 VALUES("String2");
|
||||
connection default;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
|
||||
test.t1 optimize status OK
|
||||
SET DEBUG_SYNC= 'RESET';
|
||||
DROP TABLE t1;
|
||||
#Test which demonstrates that ALTER TABLE, OPTIMIZE PARTITION
|
||||
#takes OPTIMIZE TABLE code path, hence does an online rebuild
|
||||
#of the table with the patch.
|
||||
connection default;
|
||||
SET DEBUG_SYNC= 'alter_table_inplace_after_lock_downgrade SIGNAL downgraded WAIT_FOR continue';
|
||||
#Setup PARTITIONED table.
|
||||
CREATE TABLE t1(fld1 INT) ENGINE= INNODB PARTITION BY HASH(fld1) PARTITIONS 4;
|
||||
INSERT INTO t1 VALUES(10);
|
||||
#OPTIMIZE ALL PARTITIONS operation.
|
||||
ALTER TABLE t1 OPTIMIZE PARTITION ALL;
|
||||
connection con1;
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR downgraded';
|
||||
# With the patch, concurrent DML operation succeeds.
|
||||
INSERT INTO t1 VALUES (30);
|
||||
UPDATE t1 SET fld1= 20 WHERE fld1= 10;
|
||||
DELETE FROM t1 WHERE fld1= 20;
|
||||
SELECT * from t1;
|
||||
fld1
|
||||
30
|
||||
SET DEBUG_SYNC= 'now SIGNAL continue';
|
||||
connection default;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
|
||||
test.t1 optimize status OK
|
||||
SET DEBUG_SYNC= 'RESET';
|
||||
#OPTIMIZE PER PARTITION operation.
|
||||
SET DEBUG_SYNC= 'alter_table_inplace_after_lock_downgrade SIGNAL downgraded WAIT_FOR continue';
|
||||
ALTER TABLE t1 OPTIMIZE PARTITION p0;
|
||||
connection con1;
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR downgraded';
|
||||
# With the patch, concurrent DML operation succeeds.
|
||||
INSERT INTO t1 VALUES (30);
|
||||
UPDATE t1 SET fld1= 20 WHERE fld1= 10;
|
||||
DELETE FROM t1 WHERE fld1= 20;
|
||||
SELECT * from t1;
|
||||
fld1
|
||||
30
|
||||
30
|
||||
SET DEBUG_SYNC= 'now SIGNAL continue';
|
||||
connection default;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
|
||||
test.t1 optimize status OK
|
||||
SET DEBUG_SYNC= 'RESET';
|
||||
# Test case for Bug#11938817 (ALTER BEHAVIOR DIFFERENT THEN DOCUMENTED).
|
||||
# This should not do anything
|
||||
ALTER TABLE t1;
|
||||
affected rows: 0
|
||||
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL rebuild';
|
||||
# Check that we rebuild the table
|
||||
ALTER TABLE t1 engine=innodb;
|
||||
connection con1;
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR rebuild';
|
||||
connection default;
|
||||
SET DEBUG_SYNC= 'RESET';
|
||||
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL rebuild';
|
||||
# Check that we rebuild the table
|
||||
ALTER TABLE t1 FORCE;
|
||||
connection con1;
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR rebuild';
|
||||
connection default;
|
||||
SET DEBUG_SYNC= 'RESET';
|
||||
DROP TABLE t1;
|
||||
|
@ -3086,18 +3086,17 @@ DELETE FROM t2 WHERE a = 3;
|
||||
# Now that DELETE blocks on a metadata lock, we should be able to do
|
||||
# SELECT * FROM m1 here. SELECT used to be blocked by a DELETE table
|
||||
# lock request.
|
||||
SELECT * FROM m1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
SELECT * FROM m1 WHERE a < 3;
|
||||
# Resuming ALTER TABLE
|
||||
SET DEBUG_SYNC= 'now SIGNAL continue';
|
||||
# Connection con1
|
||||
# Reaping: ALTER TABLE m1 engine=MERGE UNION=(t2, t1)
|
||||
# Connection con2
|
||||
# Reaping: DELETE FROM t2 WHERE a = 3
|
||||
# Reaping: SELECT * FROM m1 WHERE a < 3
|
||||
a
|
||||
1
|
||||
2
|
||||
# Connection default
|
||||
DROP TABLE m1, t1, t2;
|
||||
SET DEBUG_SYNC= 'RESET';
|
||||
|
@ -794,6 +794,35 @@ SELECT * FROM t2;
|
||||
col_int_key pk_1 pk_2 col_int
|
||||
1 7 11 4
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# MDEV-6139: UPDATE w/ join against MRG_MyISAM table with read-only
|
||||
# sub-table fails
|
||||
# MDEV-6193: Problems with multi-table updates that JOIN against
|
||||
# read-only table
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
id int(10) unsigned,
|
||||
a int(11)
|
||||
) ENGINE=MyISAM;
|
||||
CREATE TABLE t3 (
|
||||
id int(10) unsigned,
|
||||
b int(11)
|
||||
) ENGINE=MyISAM;
|
||||
CREATE TABLE t2 (
|
||||
id int(10) unsigned,
|
||||
b int(11)
|
||||
) ENGINE=MRG_MyISAM UNION=(t3);
|
||||
FLUSH TABLES;
|
||||
update t1 join t2 using (id) set t1.a=t2.b;
|
||||
create view v2 as select * from t2;
|
||||
update t1 join v2 using (id) set t1.a=0;
|
||||
create view v1 as select * from t3;
|
||||
update t1 join v1 using (id) set t1.a=0;
|
||||
update t1 join INFORMATION_SCHEMA.CHARACTER_SETS on (id=MAXLEN) set t1.a=0;
|
||||
create view v3 as select t2.id, t3.b from t2 join t3 using(id);
|
||||
update t1 join v3 using (id) set t1.a=0;
|
||||
drop view v1, v2, v3;
|
||||
drop table t2, t3, t1;
|
||||
end of 5.5 tests
|
||||
|
||||
# Bug mdev-5970
|
||||
|
@ -297,10 +297,7 @@ CHECK TABLE bug47205 FOR UPGRADE;
|
||||
Table Op Msg_type Msg_text
|
||||
test.bug47205 check error Table rebuild required. Please do "ALTER TABLE `bug47205` FORCE" or dump/reload to fix it!
|
||||
# ALTER TABLE ... FORCE should rebuild the table
|
||||
# and therefore output "affected rows: 1"
|
||||
ALTER TABLE bug47205 FORCE;
|
||||
affected rows: 1
|
||||
info: Records: 1 Duplicates: 0 Warnings: 0
|
||||
# Table should now be ok
|
||||
CHECK TABLE bug47205 FOR UPGRADE;
|
||||
Table Op Msg_type Msg_text
|
||||
|
@ -683,7 +683,7 @@ The following options may be given as the first argument:
|
||||
plugins from a given library_file will be loaded.
|
||||
--plugin-load-add=name
|
||||
Optional semicolon-separated list of plugins to load.
|
||||
This option adds to the list speficied by --plugin-load
|
||||
This option adds to the list specified by --plugin-load
|
||||
in an incremental way. It can be specified many times,
|
||||
adding more plugins every time.
|
||||
--plugin-maturity=name
|
||||
@ -756,7 +756,7 @@ The following options may be given as the first argument:
|
||||
--relay-log-space-limit=#
|
||||
Maximum space to use for all relay logs
|
||||
--replicate-annotate-row-events
|
||||
Tells the slave to write annotate rows events recieved
|
||||
Tells the slave to write annotate rows events received
|
||||
from the master to its own binary log. Ignored if
|
||||
log_slave_updates is not set
|
||||
--replicate-do-db=name
|
||||
@ -1244,7 +1244,7 @@ performance-schema-max-rwlock-instances 1724
|
||||
performance-schema-max-socket-classes 10
|
||||
performance-schema-max-socket-instances 179
|
||||
performance-schema-max-stage-classes 150
|
||||
performance-schema-max-statement-classes 179
|
||||
performance-schema-max-statement-classes 180
|
||||
performance-schema-max-table-handles 445
|
||||
performance-schema-max-table-instances 445
|
||||
performance-schema-max-thread-classes 50
|
||||
|
@ -5286,3 +5286,7 @@ drop table t1, t2;
|
||||
#
|
||||
# End of 5.1 tests
|
||||
#
|
||||
Usage: mysqldump [OPTIONS] database [tables]
|
||||
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
|
||||
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
|
||||
For more options, use mysqldump --help
|
||||
|
@ -618,3 +618,28 @@ DROP TABLE t1, t2, t3;
|
||||
#
|
||||
# End of 5.1 tests
|
||||
#
|
||||
#
|
||||
# Bug#17075846 : unquoted file names for variable values are
|
||||
# accepted but parsed incorrectly
|
||||
#
|
||||
SET default_storage_engine=a.myisam;
|
||||
ERROR 42000: Incorrect argument type to variable 'default_storage_engine'
|
||||
SET default_storage_engine = .a.MyISAM;
|
||||
ERROR 42000: Incorrect argument type to variable 'default_storage_engine'
|
||||
SET default_storage_engine = a.b.MyISAM;
|
||||
ERROR 42000: Incorrect argument type to variable 'default_storage_engine'
|
||||
SET default_storage_engine = `a`.MyISAM;
|
||||
ERROR 42000: Incorrect argument type to variable 'default_storage_engine'
|
||||
SET default_storage_engine = `a`.`MyISAM`;
|
||||
ERROR 42000: Incorrect argument type to variable 'default_storage_engine'
|
||||
set default_storage_engine = "a.MYISAM";
|
||||
ERROR 42000: Unknown storage engine 'a.MYISAM'
|
||||
set default_storage_engine = 'a.MYISAM';
|
||||
ERROR 42000: Unknown storage engine 'a.MYISAM'
|
||||
set default_storage_engine = `a.MYISAM`;
|
||||
ERROR 42000: Unknown storage engine 'a.MYISAM'
|
||||
CREATE TABLE t1 (s VARCHAR(100));
|
||||
CREATE TRIGGER trigger1 BEFORE INSERT ON t1 FOR EACH ROW
|
||||
SET default_storage_engine = NEW.INNODB;
|
||||
ERROR 42S22: Unknown column 'INNODB' in 'NEW'
|
||||
DROP TABLE t1;
|
||||
|
@ -42,16 +42,21 @@ SELECT * FROM t1;
|
||||
a
|
||||
set global example_ulong_var=500;
|
||||
set global example_enum_var= e1;
|
||||
set session example_int_var= -1;
|
||||
show status like 'example%';
|
||||
Variable_name Value
|
||||
Example_func_example enum_var is 0, ulong_var is 500, double_var is 8.500000, really
|
||||
Example_func_example enum_var is 0, ulong_var is 500, int_var is -1, double_var is 8.500000, really
|
||||
show variables like 'example%';
|
||||
Variable_name Value
|
||||
example_double_thdvar 8.500000
|
||||
example_double_var 8.500000
|
||||
example_enum_var e1
|
||||
example_int_var -1
|
||||
example_ulong_var 500
|
||||
example_varopt_default 5
|
||||
select @@session.example_int_var;
|
||||
@@session.example_int_var
|
||||
-1
|
||||
UNINSTALL SONAME 'ha_example';
|
||||
Warnings:
|
||||
Warning 1620 Plugin is busy and will be uninstalled on shutdown
|
||||
|
@ -613,8 +613,8 @@ insert into t2 values ("1", "1", "sup", "0"), ("2", "1", "sup", "1"),
|
||||
("4", "1", "sup", "0");
|
||||
create table t3 (
|
||||
id int(11) not null default '0',
|
||||
preceeding_id int(11) not null default '0',
|
||||
primary key (id,preceeding_id)
|
||||
preceding_id int(11) not null default '0',
|
||||
primary key (id,preceding_id)
|
||||
);
|
||||
create table t4 (
|
||||
user_id varchar(50) not null,
|
||||
@ -625,7 +625,7 @@ insert into t4 values("nicke", "imp");
|
||||
prepare stmt from
|
||||
'select distinct t1.partner_id
|
||||
from t1 left join t3 on t1.id = t3.id
|
||||
left join t1 pp on pp.id = t3.preceeding_id
|
||||
left join t1 pp on pp.id = t3.preceding_id
|
||||
where
|
||||
exists (
|
||||
select *
|
||||
|
@ -7007,3 +7007,11 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
2 SUBQUERY t1 index a a 5 NULL 2 Using where; Using index
|
||||
2 SUBQUERY t2 ref b b 5 test.t1.a 2 Using index
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# MDEV-5991: crash in Item_field::used_tables
|
||||
#
|
||||
create table t1 (c int);
|
||||
select exists(select 1 from t1 group by `c` in (select `c` from t1));
|
||||
exists(select 1 from t1 group by `c` in (select `c` from t1))
|
||||
0
|
||||
drop table t1;
|
||||
|
@ -7015,6 +7015,14 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
2 SUBQUERY t1 index a a 5 NULL 2 Using where; Using index
|
||||
2 SUBQUERY t2 ref b b 5 test.t1.a 2 Using index
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# MDEV-5991: crash in Item_field::used_tables
|
||||
#
|
||||
create table t1 (c int);
|
||||
select exists(select 1 from t1 group by `c` in (select `c` from t1));
|
||||
exists(select 1 from t1 group by `c` in (select `c` from t1))
|
||||
0
|
||||
drop table t1;
|
||||
set optimizer_switch=default;
|
||||
select @@optimizer_switch like '%exists_to_in=on%';
|
||||
@@optimizer_switch like '%exists_to_in=on%'
|
||||
|
@ -7004,6 +7004,14 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
2 SUBQUERY t1 index a a 5 NULL 2 Using where; Using index
|
||||
2 SUBQUERY t2 ref b b 5 test.t1.a 2 Using index
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# MDEV-5991: crash in Item_field::used_tables
|
||||
#
|
||||
create table t1 (c int);
|
||||
select exists(select 1 from t1 group by `c` in (select `c` from t1));
|
||||
exists(select 1 from t1 group by `c` in (select `c` from t1))
|
||||
0
|
||||
drop table t1;
|
||||
set optimizer_switch=default;
|
||||
select @@optimizer_switch like '%materialization=on%';
|
||||
@@optimizer_switch like '%materialization=on%'
|
||||
|
@ -7002,4 +7002,12 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
2 SUBQUERY t1 index a a 5 NULL 2 Using where; Using index
|
||||
2 SUBQUERY t2 ref b b 5 test.t1.a 2 Using index
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# MDEV-5991: crash in Item_field::used_tables
|
||||
#
|
||||
create table t1 (c int);
|
||||
select exists(select 1 from t1 group by `c` in (select `c` from t1));
|
||||
exists(select 1 from t1 group by `c` in (select `c` from t1))
|
||||
0
|
||||
drop table t1;
|
||||
set @optimizer_switch_for_subselect_test=null;
|
||||
|
@ -7013,6 +7013,14 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
2 SUBQUERY t1 index a a 5 NULL 2 Using where; Using index
|
||||
2 SUBQUERY t2 ref b b 5 test.t1.a 2 Using index
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# MDEV-5991: crash in Item_field::used_tables
|
||||
#
|
||||
create table t1 (c int);
|
||||
select exists(select 1 from t1 group by `c` in (select `c` from t1));
|
||||
exists(select 1 from t1 group by `c` in (select `c` from t1))
|
||||
0
|
||||
drop table t1;
|
||||
set optimizer_switch=default;
|
||||
select @@optimizer_switch like '%subquery_cache=on%';
|
||||
@@optimizer_switch like '%subquery_cache=on%'
|
||||
|
@ -7002,5 +7002,13 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
2 SUBQUERY t1 index a a 5 NULL 2 Using where; Using index
|
||||
2 SUBQUERY t2 ref b b 5 test.t1.a 2 Using index
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# MDEV-5991: crash in Item_field::used_tables
|
||||
#
|
||||
create table t1 (c int);
|
||||
select exists(select 1 from t1 group by `c` in (select `c` from t1));
|
||||
exists(select 1 from t1 group by `c` in (select `c` from t1))
|
||||
0
|
||||
drop table t1;
|
||||
set @optimizer_switch_for_subselect_test=null;
|
||||
set @join_cache_level_for_subselect_test=NULL;
|
||||
|
@ -1007,8 +1007,8 @@ insert into t2 values ("1", "1", "sup", "0"), ("2", "1", "sup", "1"),
|
||||
("4", "1", "sup", "0");
|
||||
create table t3 (
|
||||
id int(11) not null default '0',
|
||||
preceeding_id int(11) not null default '0',
|
||||
primary key (id,preceeding_id)
|
||||
preceding_id int(11) not null default '0',
|
||||
primary key (id,preceding_id)
|
||||
);
|
||||
create table t4 (
|
||||
user_id varchar(50) not null,
|
||||
|
@ -1020,8 +1020,8 @@ insert into t2 values ("1", "1", "sup", "0"), ("2", "1", "sup", "1"),
|
||||
("4", "1", "sup", "0");
|
||||
create table t3 (
|
||||
id int(11) not null default '0',
|
||||
preceeding_id int(11) not null default '0',
|
||||
primary key (id,preceeding_id)
|
||||
preceding_id int(11) not null default '0',
|
||||
primary key (id,preceding_id)
|
||||
);
|
||||
create table t4 (
|
||||
user_id varchar(50) not null,
|
||||
|
@ -347,6 +347,50 @@ Warnings:
|
||||
Warning 1292 Incorrect datetime value: '0'
|
||||
Warning 1292 Incorrect datetime value: '0'
|
||||
Warning 1292 Incorrect datetime value: '0'
|
||||
#
|
||||
# MDEV-5041 Inserting a TIME with hour>24 into a DATETIME column produces a wrong value
|
||||
#
|
||||
SELECT CAST(TIME('-800:20:30') AS DATE);
|
||||
CAST(TIME('-800:20:30') AS DATE)
|
||||
2013-07-16
|
||||
SELECT CAST(TIME('800:20:30') AS DATE);
|
||||
CAST(TIME('800:20:30') AS DATE)
|
||||
2013-09-21
|
||||
SELECT CAST(TIME('33 08:20:30') AS DATE);
|
||||
CAST(TIME('33 08:20:30') AS DATE)
|
||||
2013-09-21
|
||||
CREATE TABLE t1 (a DATE);
|
||||
INSERT INTO t1 VALUES (TIME('800:20:30'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'a' at row 1
|
||||
INSERT INTO t1 VALUES (TIME('33 08:20:30'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'a' at row 1
|
||||
SET SQL_MODE=NO_ZERO_IN_DATE;
|
||||
INSERT INTO t1 VALUES (TIME('48:20:30'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'a' at row 1
|
||||
SET SQL_MODE=DEFAULT;
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
2013-09-21
|
||||
2013-09-21
|
||||
2013-08-21
|
||||
DROP TABLE t1;
|
||||
CREATE PROCEDURE test5041()
|
||||
BEGIN
|
||||
DECLARE t TIME;
|
||||
DECLARE d DATE;
|
||||
SET t= TIME('800:00:00');
|
||||
SET d= t;
|
||||
SELECT d;
|
||||
END;|
|
||||
call test5041();
|
||||
d
|
||||
2013-09-21
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'd' at row 1
|
||||
drop procedure test5041;
|
||||
SET @@timestamp=DEFAULT;
|
||||
#
|
||||
# End of 5.3 tests
|
||||
|
@ -684,6 +684,44 @@ CONVERT_TZ(GREATEST(TIMESTAMP('2021-00-00'),TIMESTAMP('2022-00-00')),'+00:00','+
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '2022-00-00 00:00:00'
|
||||
#
|
||||
# MDEV-5041 Inserting a TIME with hour>24 into a DATETIME column produces a wrong value
|
||||
#
|
||||
SET @@timestamp=UNIX_TIMESTAMP('2013-08-19 20:30:00');
|
||||
SELECT CAST(TIME('-800:20:30') AS DATETIME);
|
||||
CAST(TIME('-800:20:30') AS DATETIME)
|
||||
2013-07-16 15:39:30
|
||||
SELECT CAST(TIME('800:20:30') AS DATETIME);
|
||||
CAST(TIME('800:20:30') AS DATETIME)
|
||||
2013-09-21 08:20:30
|
||||
SELECT CAST(TIME('33 08:20:30') AS DATETIME);
|
||||
CAST(TIME('33 08:20:30') AS DATETIME)
|
||||
2013-09-21 08:20:30
|
||||
CREATE TABLE t1 (a DATETIME);
|
||||
INSERT INTO t1 VALUES (TIME('800:20:30'));
|
||||
INSERT INTO t1 VALUES (TIME('33 08:20:30'));
|
||||
SET SQL_MODE=NO_ZERO_IN_DATE;
|
||||
INSERT INTO t1 VALUES (TIME('48:20:30'));
|
||||
SET SQL_MODE=DEFAULT;
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
2013-09-21 08:20:30
|
||||
2013-09-21 08:20:30
|
||||
2013-08-21 00:20:30
|
||||
DROP TABLE t1;
|
||||
CREATE PROCEDURE test5041()
|
||||
BEGIN
|
||||
DECLARE t TIME;
|
||||
DECLARE dt DATETIME;
|
||||
SET t= TIME('800:20:30');
|
||||
SET dt= t;
|
||||
SELECT dt;
|
||||
END;|
|
||||
call test5041();
|
||||
dt
|
||||
2013-09-21 08:20:30
|
||||
drop procedure test5041;
|
||||
SET @@timestamp=DEFAULT;
|
||||
End of 5.3 tests
|
||||
#
|
||||
# Start of 5.5 tests
|
||||
|
@ -846,6 +846,24 @@ Warnings:
|
||||
Warning 1356 View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
create table t1 (a varchar(20));
|
||||
create view v1 as select a from t1;
|
||||
alter table t1 change a aa int;
|
||||
select * from v1;
|
||||
ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
|
||||
show table status;
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 MyISAM 10 Fixed 0 0 0 # 1024 0 NULL # # NULL latin1_swedish_ci NULL
|
||||
v1 NULL NULL NULL NULL NULL NULL # NULL NULL NULL # # NULL NULL NULL NULL View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
|
||||
Warnings:
|
||||
Warning 1356 View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
|
||||
show create view v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `test`.`t1`.`a` AS `a` from `t1` latin1 latin1_swedish_ci
|
||||
Warnings:
|
||||
Warning 1356 View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
create view v1 as select 99999999999999999999999999999999999999999999999999999 as col1;
|
||||
show create view v1;
|
||||
View Create View character_set_client collation_connection
|
||||
@ -5016,6 +5034,24 @@ id test
|
||||
1 0
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5981: name resolution issues with views and multi-update
|
||||
# in ps-protocol
|
||||
#
|
||||
create table t1 (id1 int primary key, val1 varchar(20));
|
||||
insert into t1 values (1, 'test1');
|
||||
create table t2 (id2 int primary key, val2 varchar(20));
|
||||
insert into t2 values (1, 'test2');
|
||||
create algorithm=merge view v1 as select id1 as id1v1, val1 as val1v1 from t1;
|
||||
create algorithm=merge view v2 as
|
||||
select t2.id2 as id2v2, t2.val2 as val2v2
|
||||
from t2, v1
|
||||
where t2.id2 = v1.id1v1;
|
||||
prepare stmt1 from "update v2 set val2v2 = 'test19' where 1 = id2v2";
|
||||
execute stmt1;
|
||||
deallocate prepare stmt1;
|
||||
drop view v1,v2;
|
||||
drop table t1,t2;
|
||||
# -----------------------------------------------------------------
|
||||
# -- End of 5.3 tests.
|
||||
# -----------------------------------------------------------------
|
||||
|
@ -132,7 +132,7 @@ xb1 xc1
|
||||
SELECT extractValue(@xml,'/a//@x[2]');
|
||||
extractValue(@xml,'/a//@x[2]')
|
||||
xb2 xc2
|
||||
SET @xml='<a><b>b1</b><b>b2</b><c><b>c1b1</b><b>c1b2</b></c><c><b>c2b1</c></b></a>';
|
||||
SET @xml='<a><b>b1</b><b>b2</b><c><b>c1b1</b><b>c1b2</b></c><c><b>c2b1</b></c></a>';
|
||||
SELECT extractValue(@xml,'//b[1]');
|
||||
extractValue(@xml,'//b[1]')
|
||||
b1 c1b1 c2b1
|
||||
@ -1134,6 +1134,24 @@ Warnings:
|
||||
Warning 1525 Incorrect XML value: 'parse error at line 1 pos 11: STRING unexpected (ident or '/' wanted)'
|
||||
End of 5.1 tests
|
||||
#
|
||||
# Start of 5.3 tests
|
||||
#
|
||||
#
|
||||
# MDEV-5338 XML parser accepts malformed data
|
||||
#
|
||||
SELECT ExtractValue('<a>xxx</c>','/a/b');
|
||||
ExtractValue('<a>xxx</c>','/a/b')
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1525 Incorrect XML value: 'parse error at line 1 pos 10: '</c>' unexpected ('</a>' wanted)'
|
||||
SELECT ExtractValue('<a><b>xxx</c></a>','/a/b');
|
||||
ExtractValue('<a><b>xxx</c></a>','/a/b')
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1525 Incorrect XML value: 'parse error at line 1 pos 13: '</c>' unexpected ('</b>' wanted)'
|
||||
#
|
||||
# End of 5.3 tests
|
||||
#
|
||||
# Start of 5.5 tests
|
||||
#
|
||||
#
|
||||
|
@ -74,6 +74,15 @@ select 1 from t1 order by cast(a as char(1));
|
||||
1
|
||||
1
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-6134 SUBSTRING_INDEX returns wrong result for 8bit character sets when delimiter is not found
|
||||
#
|
||||
SET character_set_client=latin1;
|
||||
SET character_set_connection= @test_character_set;
|
||||
SET collation_connection= @test_collation;
|
||||
SELECT COLLATION('.'), SUBSTRING_INDEX('.wwwmysqlcom', '.', -2) AS c1;
|
||||
COLLATION('.') c1
|
||||
cp932_japanese_ci .wwwmysqlcom
|
||||
set names utf8;
|
||||
create table t1 (
|
||||
name varchar(10),
|
||||
|
@ -74,6 +74,15 @@ select 1 from t1 order by cast(a as char(1));
|
||||
1
|
||||
1
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-6134 SUBSTRING_INDEX returns wrong result for 8bit character sets when delimiter is not found
|
||||
#
|
||||
SET character_set_client=latin1;
|
||||
SET character_set_connection= @test_character_set;
|
||||
SET collation_connection= @test_collation;
|
||||
SELECT COLLATION('.'), SUBSTRING_INDEX('.wwwmysqlcom', '.', -2) AS c1;
|
||||
COLLATION('.') c1
|
||||
cp932_japanese_ci .wwwmysqlcom
|
||||
set names utf8;
|
||||
create table t1 (
|
||||
name varchar(10),
|
||||
|
@ -89,7 +89,7 @@ echo
|
||||
# - TIME (printed value will be unified), the exact values are like
|
||||
# "normal" load: 0 (seconds)
|
||||
# "heavy" load: 1 or more (seconds)
|
||||
# - State 'executing'
|
||||
# - State 'Filling schema table'
|
||||
# - INFO must contain the corresponding SHOW/SELECT PROCESSLIST
|
||||
#
|
||||
# 1. Just dump what we get
|
||||
@ -109,7 +109,7 @@ FROM INFORMATION_SCHEMA.PROCESSLIST WHERE ID = @default_id;
|
||||
SELECT COUNT(*) = 1 AS "Expect 1"
|
||||
FROM INFORMATION_SCHEMA.PROCESSLIST WHERE ID = @default_id
|
||||
AND USER = 'root' AND DB = 'test' AND Command IN('Query','Execute')
|
||||
AND State = 'executing';
|
||||
AND State = 'Filling schema table';
|
||||
#
|
||||
# 4. Change the DB
|
||||
USE information_schema;
|
||||
|
@ -44,11 +44,11 @@ ID root HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
SELECT * FROM processlist ORDER BY id;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID root HOST_NAME information_schema Query TIME executing SELECT * FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID root HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID FROM processlist ORDER BY id;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID root HOST_NAME information_schema Query TIME executing SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID root HOST_NAME information_schema Query TIME Filling schema table SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
CREATE TEMPORARY TABLE test.t_processlist AS SELECT * FROM processlist;
|
||||
UPDATE test.t_processlist SET user='horst' WHERE id=1 ;
|
||||
@ -119,10 +119,10 @@ Id User Host db Command Time State Info Progress
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM processlist ORDER BY id;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME executing SELECT * FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID FROM processlist ORDER BY id;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME executing SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
CREATE TEMPORARY TABLE test.t_processlist AS SELECT * FROM processlist;
|
||||
UPDATE test.t_processlist SET user='horst' WHERE id=1 ;
|
||||
INSERT INTO processlist SELECT * FROM test.t_processlist;
|
||||
@ -182,7 +182,7 @@ Id User Host db Command Time State Info Progress
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
####################################################################################
|
||||
4.2 New connection con101 (ddicttestuser1 with PROCESS privilege)
|
||||
SHOW/SELECT shows all processes/threads.
|
||||
@ -197,7 +197,7 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
####################################################################################
|
||||
@ -221,7 +221,7 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
ID HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID HOST_NAME information_schema Query TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
@ -245,7 +245,7 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
####################################################################################
|
||||
@ -263,7 +263,7 @@ Grants for @localhost
|
||||
GRANT USAGE ON *.* TO ''@'localhost'
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID HOST_NAME information_schema Query TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
####################################################################################
|
||||
8 Grant SUPER (does not imply PROCESS) privilege to ddicttestuser1
|
||||
@ -285,7 +285,7 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
@ -311,7 +311,7 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
@ -365,7 +365,7 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
ID ddicttestuser2 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser2 HOST_NAME information_schema Query TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser2 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
@ -394,7 +394,7 @@ ID ddicttestuser2 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
ID ddicttestuser2 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser2 HOST_NAME information_schema Query TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser2 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser2 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
####################################################################################
|
||||
11.2 Revoke SUPER,PROCESS,GRANT OPTION privilege from user ddicttestuser1
|
||||
@ -423,7 +423,7 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
@ -459,7 +459,7 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
|
@ -44,11 +44,11 @@ ID root HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
SELECT * FROM processlist ORDER BY id;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID root HOST_NAME information_schema Execute TIME executing SELECT * FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID root HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID FROM processlist ORDER BY id;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID root HOST_NAME information_schema Execute TIME executing SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID root HOST_NAME information_schema Execute TIME Filling schema table SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
CREATE TEMPORARY TABLE test.t_processlist AS SELECT * FROM processlist;
|
||||
UPDATE test.t_processlist SET user='horst' WHERE id=1 ;
|
||||
@ -119,10 +119,10 @@ Id User Host db Command Time State Info Progress
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM processlist ORDER BY id;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID FROM processlist ORDER BY id;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
CREATE TEMPORARY TABLE test.t_processlist AS SELECT * FROM processlist;
|
||||
UPDATE test.t_processlist SET user='horst' WHERE id=1 ;
|
||||
INSERT INTO processlist SELECT * FROM test.t_processlist;
|
||||
@ -182,7 +182,7 @@ Id User Host db Command Time State Info Progress
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
####################################################################################
|
||||
4.2 New connection con101 (ddicttestuser1 with PROCESS privilege)
|
||||
SHOW/SELECT shows all processes/threads.
|
||||
@ -197,7 +197,7 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
####################################################################################
|
||||
@ -221,7 +221,7 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
ID HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
@ -245,7 +245,7 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
####################################################################################
|
||||
@ -263,7 +263,7 @@ Grants for @localhost
|
||||
GRANT USAGE ON *.* TO ''@'localhost'
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
####################################################################################
|
||||
8 Grant SUPER (does not imply PROCESS) privilege to ddicttestuser1
|
||||
@ -285,7 +285,7 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
@ -311,7 +311,7 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
@ -365,7 +365,7 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
ID ddicttestuser2 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser2 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser2 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
@ -394,7 +394,7 @@ ID ddicttestuser2 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
ID ddicttestuser2 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser2 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser2 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser2 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
####################################################################################
|
||||
11.2 Revoke SUPER,PROCESS,GRANT OPTION privilege from user ddicttestuser1
|
||||
@ -423,7 +423,7 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
@ -459,7 +459,7 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
|
||||
ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID
|
||||
|
@ -33,7 +33,7 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
|
||||
|
||||
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
<ID> root <HOST_NAME> test Query <TIME> executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> root <HOST_NAME> test Query <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
SHOW FULL PROCESSLIST;
|
||||
Id User Host db Command Time State Info Progress
|
||||
<ID> root <HOST_NAME> test Query <TIME> init SHOW FULL PROCESSLIST <TIME_MS>
|
||||
@ -45,7 +45,7 @@ Expect exact one connection with this id
|
||||
SELECT COUNT(*) = 1 AS "Expect 1"
|
||||
FROM INFORMATION_SCHEMA.PROCESSLIST WHERE ID = @default_id
|
||||
AND USER = 'root' AND DB = 'test' AND Command IN('Query','Execute')
|
||||
AND State = 'executing';
|
||||
AND State = 'Filling schema table';
|
||||
Expect 1
|
||||
1
|
||||
USE information_schema;
|
||||
@ -114,7 +114,7 @@ Expect 1
|
||||
|
||||
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
<ID> test_user <HOST_NAME> information_schema Query <TIME> executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> test_user <HOST_NAME> information_schema Query <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
SHOW FULL PROCESSLIST;
|
||||
Id User Host db Command Time State Info Progress
|
||||
<ID> test_user <HOST_NAME> information_schema Query <TIME> init SHOW FULL PROCESSLIST 0.000
|
||||
@ -131,7 +131,7 @@ Id User Host db Command Time State Info Progress
|
||||
|
||||
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
<ID> test_user <HOST_NAME> information_schema Query <TIME> executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> test_user <HOST_NAME> information_schema Query <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
SHOW FULL PROCESSLIST;
|
||||
Id User Host db Command Time State Info Progress
|
||||
@ -159,7 +159,7 @@ SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
<ID> test_user <HOST_NAME> information_schema Query <TIME> User sleep SELECT sleep(10), 17 <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> root <HOST_NAME> information_schema Query <TIME> executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> root <HOST_NAME> information_schema Query <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
SHOW FULL PROCESSLIST;
|
||||
Id User Host db Command Time State Info Progress
|
||||
<ID> root <HOST_NAME> information_schema Query <TIME> init SHOW FULL PROCESSLIST 0.000
|
||||
@ -206,7 +206,7 @@ SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
<ID> test_user <HOST_NAME> information_schema Query <TIME> Waiting for table metadata lock SELECT COUNT(*) FROM test.t1 <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> root <HOST_NAME> information_schema Query <TIME> executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> root <HOST_NAME> information_schema Query <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
UNLOCK TABLES;
|
||||
# ----- switch to connection con2 (user = test_user) -----
|
||||
|
||||
|
@ -33,7 +33,7 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
|
||||
|
||||
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
<ID> root <HOST_NAME> test Execute <TIME> executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> root <HOST_NAME> test Execute <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
SHOW FULL PROCESSLIST;
|
||||
Id User Host db Command Time State Info Progress
|
||||
<ID> root <HOST_NAME> test Query <TIME> init SHOW FULL PROCESSLIST <TIME_MS>
|
||||
@ -45,7 +45,7 @@ Expect exact one connection with this id
|
||||
SELECT COUNT(*) = 1 AS "Expect 1"
|
||||
FROM INFORMATION_SCHEMA.PROCESSLIST WHERE ID = @default_id
|
||||
AND USER = 'root' AND DB = 'test' AND Command IN('Query','Execute')
|
||||
AND State = 'executing';
|
||||
AND State = 'Filling schema table';
|
||||
Expect 1
|
||||
1
|
||||
USE information_schema;
|
||||
@ -114,7 +114,7 @@ Expect 1
|
||||
|
||||
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
<ID> test_user <HOST_NAME> information_schema Execute <TIME> executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> test_user <HOST_NAME> information_schema Execute <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
SHOW FULL PROCESSLIST;
|
||||
Id User Host db Command Time State Info Progress
|
||||
<ID> test_user <HOST_NAME> information_schema Query <TIME> init SHOW FULL PROCESSLIST 0.000
|
||||
@ -131,7 +131,7 @@ Id User Host db Command Time State Info Progress
|
||||
|
||||
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
<ID> test_user <HOST_NAME> information_schema Execute <TIME> executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> test_user <HOST_NAME> information_schema Execute <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
SHOW FULL PROCESSLIST;
|
||||
Id User Host db Command Time State Info Progress
|
||||
@ -159,7 +159,7 @@ SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
<ID> test_user <HOST_NAME> information_schema Query <TIME> User sleep SELECT sleep(10), 17 <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> root <HOST_NAME> information_schema Execute <TIME> executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> root <HOST_NAME> information_schema Execute <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
SHOW FULL PROCESSLIST;
|
||||
Id User Host db Command Time State Info Progress
|
||||
<ID> root <HOST_NAME> information_schema Query <TIME> init SHOW FULL PROCESSLIST 0.000
|
||||
@ -206,7 +206,7 @@ SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID
|
||||
<ID> test_user <HOST_NAME> information_schema Query <TIME> Waiting for table metadata lock SELECT COUNT(*) FROM test.t1 <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> root <HOST_NAME> information_schema Execute <TIME> executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
<ID> root <HOST_NAME> information_schema Execute <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID>
|
||||
UNLOCK TABLES;
|
||||
# ----- switch to connection con2 (user = test_user) -----
|
||||
|
||||
|
@ -284,7 +284,7 @@ INSERT INTO t1_values SET
|
||||
# other interesting value
|
||||
# numbers -> 0
|
||||
# strings, blobs, binaries -> not full length of used data type, "exotic"
|
||||
# characters and preceeding and trailing spaces
|
||||
# characters and preceding and trailing spaces
|
||||
# FIXME enum, set ??
|
||||
INSERT INTO t1_values SET
|
||||
my_char_30 = ' ---äÖüß@µ*$-- ',
|
||||
|
@ -545,7 +545,7 @@ let $message= Testcase 3.3.1.7 ;
|
||||
# view names are accepted, at creation time, alteration time,
|
||||
# and drop time.
|
||||
###############################################################################
|
||||
# Note(mleich): non-qualified view name means a view name without preceeding
|
||||
# Note(mleich): non-qualified view name means a view name without preceding
|
||||
# database name
|
||||
--disable_warnings
|
||||
DROP VIEW IF EXISTS v1 ;
|
||||
|
@ -852,6 +852,14 @@ select data_length,index_length from information_schema.tables where table_schem
|
||||
data_length index_length
|
||||
81024 121024
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (id INT);
|
||||
INSERT INTO t1 VALUES (1);
|
||||
INSERT INTO t1 VALUES (2);
|
||||
SET @@max_heap_table_size = 1024*1024*1024*20;
|
||||
CREATE TEMPORARY TABLE tmp ENGINE=MEMORY
|
||||
SELECT id FROM t1;
|
||||
DROP TEMPORARY TABLE tmp;
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
color enum('GREEN', 'WHITE') DEFAULT NULL,
|
||||
|
@ -617,6 +617,23 @@ insert into t1 select rand(100000000) from t1;
|
||||
select data_length,index_length from information_schema.tables where table_schema="test" and table_name="t1";
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# MDEV-5905 Creating tmp. memory table kills the server
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (id INT);
|
||||
INSERT INTO t1 VALUES (1);
|
||||
INSERT INTO t1 VALUES (2);
|
||||
|
||||
--disable_warnings
|
||||
SET @@max_heap_table_size = 1024*1024*1024*20;
|
||||
--enable_warnings
|
||||
|
||||
CREATE TEMPORARY TABLE tmp ENGINE=MEMORY
|
||||
SELECT id FROM t1;
|
||||
DROP TEMPORARY TABLE tmp;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# BUG#51763 Can't delete rows from MEMORY table with HASH key
|
||||
#
|
||||
|
15
mysql-test/suite/innodb/r/blob-update-debug.result
Normal file
15
mysql-test/suite/innodb/r/blob-update-debug.result
Normal file
@ -0,0 +1,15 @@
|
||||
#
|
||||
# Bug#18185930 UPD_NODE_INSERT_BLOB CAUSES BTR_EXTERN_OWNER_FLAG
|
||||
# ASSERTION
|
||||
#
|
||||
create table t1 (f1 int primary key, f2 blob) engine = innodb;
|
||||
insert into t1 values (1, repeat('*', 50000));
|
||||
select f1, substring(f2, 1, 40) from t1;
|
||||
f1 substring(f2, 1, 40)
|
||||
1 ****************************************
|
||||
set debug_dbug = 'd,row_ins_index_entry_timeout';
|
||||
update t1 set f1 = 3;
|
||||
select f1, substring(f2, 1, 40) from t1;
|
||||
f1 substring(f2, 1, 40)
|
||||
3 ****************************************
|
||||
drop table t1;
|
9
mysql-test/suite/innodb/r/create-index.result
Normal file
9
mysql-test/suite/innodb/r/create-index.result
Normal file
@ -0,0 +1,9 @@
|
||||
#
|
||||
# Bug #18010711 UNIQUE PREFIX INDEX ON BINARY COLUMN: FAILING
|
||||
# ASSERTION: FLEN == LEN
|
||||
#
|
||||
create table t1 (f1 binary(5)) engine=innodb;
|
||||
insert into t1 values ('w'), ('w');
|
||||
create unique index index_t1 on t1(f1(4));
|
||||
ERROR 23000: Duplicate entry 'w' for key 'index_t1'
|
||||
drop table t1;
|
@ -1309,3 +1309,30 @@ t1 CREATE TABLE `t1` (
|
||||
PRIMARY KEY (`c1`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #14049391 INNODB MISCALCULATES AUTO-INCREMENT
|
||||
# AFTER CHANGING AUTO_INCREMENT_INCREMEMENT
|
||||
#
|
||||
CREATE TABLE t ( i INT AUTO_INCREMENT, KEY(i) ) ENGINE=InnoDB;
|
||||
SET auto_increment_increment = 300;
|
||||
INSERT INTO t VALUES (NULL), (NULL);
|
||||
SHOW CREATE TABLE t;
|
||||
Table Create Table
|
||||
t CREATE TABLE `t` (
|
||||
`i` int(11) NOT NULL AUTO_INCREMENT,
|
||||
KEY `i` (`i`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=601 DEFAULT CHARSET=latin1
|
||||
SET auto_increment_increment = 50;
|
||||
INSERT INTO t VALUES (NULL);
|
||||
SELECT * FROM t;
|
||||
i
|
||||
1
|
||||
301
|
||||
351
|
||||
SHOW CREATE TABLE t;
|
||||
Table Create Table
|
||||
t CREATE TABLE `t` (
|
||||
`i` int(11) NOT NULL AUTO_INCREMENT,
|
||||
KEY `i` (`i`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=401 DEFAULT CHARSET=latin1
|
||||
DROP TABLE t;
|
||||
|
72
mysql-test/suite/innodb/r/innodb-changed-pages.result
Normal file
72
mysql-test/suite/innodb/r/innodb-changed-pages.result
Normal file
@ -0,0 +1,72 @@
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 10 AND end_lsn > 20 ;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA . `INNODB_CHANGED_PAGES` AS table1 WHERE ( ( (NOT ( ( ( ( (NOT ( table1 . `page_id` <> table1 . `start_lsn` AND table1 . `space_id` <> 8) AND table1 . `page_id` >= table1 . `end_lsn`) OR table1 . `end_lsn` = table1 . `space_id`) AND table1 . `end_lsn` <> table1 . `page_id`) OR table1 . `end_lsn` < 8) AND table1 . `space_id` >= '2000-06-10 11:33:07.046821') AND table1 . `end_lsn` >= 5) AND table1 . `start_lsn` < 'mm') OR table1 . `end_lsn` != table1 . `end_lsn`) HAVING ( table1 . `start_lsn` < '2005-09-09 01:34:19.012946' OR table1 . `page_id` < 6) ORDER BY table1 . `start_lsn`
|
||||
LIMIT 3;
|
||||
space_id page_id start_lsn end_lsn
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: 'mm'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '2005-09-09 01:34:19.012946'
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn > 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn >= 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn > 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn >= 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 and end_lsn < 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 and end_lsn < 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 and end_lsn <= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 and end_lsn <= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn = 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn = 2000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn < 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn < 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn <= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn <= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn < 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn < 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn <= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn <= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn > 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn > 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn >= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn >= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn > 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn > 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn >= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn >= 3000000;
|
||||
space_id page_id start_lsn end_lsn
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE (start_lsn > 2000000 and end_lsn < 3000000) or (start_lsn > 4000000 and end_lsn < 5000000);
|
||||
space_id page_id start_lsn end_lsn
|
43
mysql-test/suite/innodb/r/innodb-update-insert.result
Normal file
43
mysql-test/suite/innodb/r/innodb-update-insert.result
Normal file
@ -0,0 +1,43 @@
|
||||
#
|
||||
# Bug#14668683 ASSERT REC_GET_DELETED_FLAG(REC, PAGE_IS_COMP(PAGE))
|
||||
#
|
||||
create table t1(f1 char(1) primary key, f2 int not null, f3 blob)
|
||||
engine=innodb;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`f1` char(1) NOT NULL,
|
||||
`f2` int(11) NOT NULL,
|
||||
`f3` blob,
|
||||
PRIMARY KEY (`f1`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
insert into t1 values ('a', 0, repeat('b',8102));
|
||||
select f1 from t1;
|
||||
f1
|
||||
a
|
||||
update t1 set f1='A';
|
||||
select f1 from t1;
|
||||
f1
|
||||
A
|
||||
drop table t1;
|
||||
#
|
||||
# Another test case
|
||||
#
|
||||
create table t1 (f1 char(1), f2 longblob, f3 blob, primary key(f1))
|
||||
charset=utf8 engine=innodb;
|
||||
replace into t1 set f1=0xa3;
|
||||
Warnings:
|
||||
Warning 1366 Incorrect string value: '\xA3' for column 'f1' at row 1
|
||||
select f1 from t1;
|
||||
f1
|
||||
|
||||
update t1 set f1=0x6a;
|
||||
update t1 set f3=repeat(0xb1,8103);
|
||||
update t1 set f1=0x4a;
|
||||
update t1 set f1=0x82;
|
||||
Warnings:
|
||||
Warning 1366 Incorrect string value: '\x82' for column 'f1' at row 1
|
||||
select f1 from t1;
|
||||
f1
|
||||
|
||||
drop table t1;
|
@ -1691,7 +1691,7 @@ variable_value - @innodb_rows_deleted_orig
|
||||
71
|
||||
SELECT variable_value - @innodb_rows_inserted_orig FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_rows_inserted';
|
||||
variable_value - @innodb_rows_inserted_orig
|
||||
1007
|
||||
964
|
||||
SELECT variable_value - @innodb_rows_updated_orig FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_rows_updated';
|
||||
variable_value - @innodb_rows_updated_orig
|
||||
866
|
||||
|
@ -6,10 +6,7 @@ CREATE TABLE t3 (e INT) ENGINE=InnoDB;
|
||||
CREATE TABLE t4 ENGINE=InnoDB AS SELECT * FROM t2;
|
||||
BEGIN;
|
||||
UPDATE t1 SET a = 0 WHERE a = ( SELECT e FROM t3 );
|
||||
SET DEBUG_SYNC='srv_suspend_mysql_thread_enter SIGNAL waiting';
|
||||
UPDATE t4 SET d = 1 WHERE d in ( SELECT a FROM t1 ) ORDER BY c LIMIT 6;
|
||||
SET DEBUG_SYNC='now WAIT_FOR waiting';
|
||||
SET DEBUG_SYNC='RESET';
|
||||
UPDATE t4 SET d = 9;
|
||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||
commit;
|
||||
|
17
mysql-test/suite/innodb/t/blob-update-debug.test
Normal file
17
mysql-test/suite/innodb/t/blob-update-debug.test
Normal file
@ -0,0 +1,17 @@
|
||||
# This file contains tests involving update operations on blob data type.
|
||||
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_debug.inc
|
||||
|
||||
--echo #
|
||||
--echo # Bug#18185930 UPD_NODE_INSERT_BLOB CAUSES BTR_EXTERN_OWNER_FLAG
|
||||
--echo # ASSERTION
|
||||
--echo #
|
||||
|
||||
create table t1 (f1 int primary key, f2 blob) engine = innodb;
|
||||
insert into t1 values (1, repeat('*', 50000));
|
||||
select f1, substring(f2, 1, 40) from t1;
|
||||
set debug_dbug = 'd,row_ins_index_entry_timeout';
|
||||
update t1 set f1 = 3;
|
||||
select f1, substring(f2, 1, 40) from t1;
|
||||
drop table t1;
|
11
mysql-test/suite/innodb/t/create-index.test
Normal file
11
mysql-test/suite/innodb/t/create-index.test
Normal file
@ -0,0 +1,11 @@
|
||||
--source include/have_innodb.inc
|
||||
|
||||
--echo #
|
||||
--echo # Bug #18010711 UNIQUE PREFIX INDEX ON BINARY COLUMN: FAILING
|
||||
--echo # ASSERTION: FLEN == LEN
|
||||
--echo #
|
||||
create table t1 (f1 binary(5)) engine=innodb;
|
||||
insert into t1 values ('w'), ('w');
|
||||
--error ER_DUP_ENTRY
|
||||
create unique index index_t1 on t1(f1(4));
|
||||
drop table t1;
|
@ -1,3 +1,8 @@
|
||||
if (`select plugin_auth_version <= "5.5.37-MariaDB-34.0" from information_schema.plugins where plugin_name='innodb'`)
|
||||
{
|
||||
--skip Not fixed in XtraDB as of 5.5.37-MariaDB-34.0 or earlier
|
||||
}
|
||||
|
||||
--source include/have_innodb.inc
|
||||
# embedded server ignores 'delayed', so skip this
|
||||
-- source include/not_embedded.inc
|
||||
@ -666,3 +671,16 @@ SELECT * FROM t1;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug #14049391 INNODB MISCALCULATES AUTO-INCREMENT
|
||||
--echo # AFTER CHANGING AUTO_INCREMENT_INCREMEMENT
|
||||
--echo #
|
||||
CREATE TABLE t ( i INT AUTO_INCREMENT, KEY(i) ) ENGINE=InnoDB;
|
||||
SET auto_increment_increment = 300;
|
||||
INSERT INTO t VALUES (NULL), (NULL);
|
||||
SHOW CREATE TABLE t;
|
||||
SET auto_increment_increment = 50;
|
||||
INSERT INTO t VALUES (NULL);
|
||||
SELECT * FROM t;
|
||||
SHOW CREATE TABLE t;
|
||||
DROP TABLE t;
|
||||
|
@ -0,0 +1 @@
|
||||
--innodb-track-changed-pages=0 --innodb-changed-pages=1
|
63
mysql-test/suite/innodb/t/innodb-changed-pages.test
Normal file
63
mysql-test/suite/innodb/t/innodb-changed-pages.test
Normal file
@ -0,0 +1,63 @@
|
||||
-- source include/have_xtradb.inc
|
||||
|
||||
#
|
||||
# This test requires innodb-changed-pages=1 so that necessary information schema table exists
|
||||
# and innodb-track-changed-pages=0 to disable actual changed pages tracking, because
|
||||
# page number are not consistent from run to run
|
||||
#
|
||||
|
||||
#
|
||||
# MDEV-4791: ssertion range_end >= range_start fails in log0online.c
|
||||
# on select from I_S.INNODB_CHANGED_PAGES
|
||||
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 10 AND end_lsn > 20 ;
|
||||
|
||||
SELECT * FROM INFORMATION_SCHEMA . `INNODB_CHANGED_PAGES` AS table1 WHERE ( ( (NOT ( ( ( ( (NOT ( table1 . `page_id` <> table1 . `start_lsn` AND table1 . `space_id` <> 8) AND table1 . `page_id` >= table1 . `end_lsn`) OR table1 . `end_lsn` = table1 . `space_id`) AND table1 . `end_lsn` <> table1 . `page_id`) OR table1 . `end_lsn` < 8) AND table1 . `space_id` >= '2000-06-10 11:33:07.046821') AND table1 . `end_lsn` >= 5) AND table1 . `start_lsn` < 'mm') OR table1 . `end_lsn` != table1 . `end_lsn`) HAVING ( table1 . `start_lsn` < '2005-09-09 01:34:19.012946' OR table1 . `page_id` < 6) ORDER BY table1 . `start_lsn`
|
||||
LIMIT 3;
|
||||
|
||||
#
|
||||
# Basic tests
|
||||
#
|
||||
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES;
|
||||
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn > 2000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn >= 2000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn > 2000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn >= 2000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 and end_lsn < 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 and end_lsn < 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 and end_lsn <= 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 and end_lsn <= 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn = 2000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn = 2000000;
|
||||
|
||||
#
|
||||
# OR
|
||||
#
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn < 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn < 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn <= 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn <= 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn < 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn < 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn <= 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn <= 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn > 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn > 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn >= 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn >= 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn > 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn > 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn >= 3000000;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn >= 3000000;
|
||||
|
||||
#
|
||||
# Range
|
||||
#
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE (start_lsn > 2000000 and end_lsn < 3000000) or (start_lsn > 4000000 and end_lsn < 5000000);
|
||||
|
38
mysql-test/suite/innodb/t/innodb-update-insert.test
Normal file
38
mysql-test/suite/innodb/t/innodb-update-insert.test
Normal file
@ -0,0 +1,38 @@
|
||||
#
|
||||
# Copyright (c) 2014 Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
# This file contains test cases for checking the functionality "update by
|
||||
# delete + insert".
|
||||
|
||||
--source include/have_innodb.inc
|
||||
|
||||
--echo #
|
||||
--echo # Bug#14668683 ASSERT REC_GET_DELETED_FLAG(REC, PAGE_IS_COMP(PAGE))
|
||||
--echo #
|
||||
|
||||
create table t1(f1 char(1) primary key, f2 int not null, f3 blob)
|
||||
engine=innodb;
|
||||
show create table t1;
|
||||
|
||||
insert into t1 values ('a', 0, repeat('b',8102));
|
||||
select f1 from t1;
|
||||
update t1 set f1='A';
|
||||
select f1 from t1;
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # Another test case
|
||||
--echo #
|
||||
create table t1 (f1 char(1), f2 longblob, f3 blob, primary key(f1))
|
||||
charset=utf8 engine=innodb;
|
||||
|
||||
replace into t1 set f1=0xa3;
|
||||
select f1 from t1;
|
||||
update t1 set f1=0x6a;
|
||||
update t1 set f3=repeat(0xb1,8103);
|
||||
update t1 set f1=0x4a;
|
||||
update t1 set f1=0x82;
|
||||
select f1 from t1;
|
||||
|
||||
drop table t1;
|
@ -1,8 +1,3 @@
|
||||
if (`select plugin_auth_version < "5.6.17" from information_schema.plugins where plugin_name='innodb'`)
|
||||
{
|
||||
--skip Not fixed in InnoDB before 5.6.17
|
||||
}
|
||||
|
||||
#
|
||||
# Test of wrong call to unlock_row
|
||||
# MDEV-5629 Failing assertion: state == TRX_STATE_NOT_STARTED on
|
||||
@ -10,7 +5,6 @@ if (`select plugin_auth_version < "5.6.17" from information_schema.plugins where
|
||||
#
|
||||
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_debug_sync.inc
|
||||
|
||||
CREATE TABLE t1 (a INT, b INT) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (1,1),(2,2);
|
||||
@ -28,17 +22,17 @@ UPDATE t1 SET a = 0 WHERE a = ( SELECT e FROM t3 );
|
||||
|
||||
--connect (con12,localhost,root,,test)
|
||||
|
||||
SET DEBUG_SYNC='srv_suspend_mysql_thread_enter SIGNAL waiting';
|
||||
|
||||
--send
|
||||
UPDATE t4 SET d = 1 WHERE d in ( SELECT a FROM t1 ) ORDER BY c LIMIT 6;
|
||||
|
||||
--connection con11
|
||||
|
||||
# Wait for con12 to start waiting for con11
|
||||
|
||||
SET DEBUG_SYNC='now WAIT_FOR waiting';
|
||||
SET DEBUG_SYNC='RESET';
|
||||
let $wait_condition=
|
||||
select count(*) = 1 from information_schema.innodb_trx
|
||||
where trx_state = "lock wait" and
|
||||
trx_query like "%SELECT a FROM t1%";
|
||||
--source include/wait_condition.inc
|
||||
|
||||
UPDATE t4 SET d = 9;
|
||||
|
||||
|
38
mysql-test/suite/parts/r/partition_mdev6067.result
Normal file
38
mysql-test/suite/parts/r/partition_mdev6067.result
Normal file
@ -0,0 +1,38 @@
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB
|
||||
PARTITION BY KEY (a) PARTITIONS 2;
|
||||
INSERT INTO t1 VALUES (1,1);
|
||||
INSERT INTO t1 VALUES (2,2), (3,8);
|
||||
INSERT INTO t1 VALUES (4,16);
|
||||
include/show_binlog_events.inc
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2,2), (3,8)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (4,16)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
DROP TABLE t1;
|
||||
SET binlog_format='row';
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB
|
||||
PARTITION BY KEY (a) PARTITIONS 2;
|
||||
INSERT INTO t1 VALUES (1,1);
|
||||
INSERT INTO t1 VALUES (2,2), (3,8);
|
||||
INSERT INTO t1 VALUES (4,16);
|
||||
include/show_binlog_events.inc
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
DROP TABLE t1;
|
32
mysql-test/suite/parts/t/partition_mdev6067.test
Normal file
32
mysql-test/suite/parts/t/partition_mdev6067.test
Normal file
@ -0,0 +1,32 @@
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_partition.inc
|
||||
--source include/have_binlog_format_statement.inc
|
||||
|
||||
# Test binlogging of some transactions on a partitioned InnoDB table.
|
||||
# The bug was seen as one of the inserts being logged with a COMMIT query
|
||||
# event instead of the correct XID event.
|
||||
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB
|
||||
PARTITION BY KEY (a) PARTITIONS 2;
|
||||
--let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
|
||||
--let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1)
|
||||
INSERT INTO t1 VALUES (1,1);
|
||||
INSERT INTO t1 VALUES (2,2), (3,8);
|
||||
INSERT INTO t1 VALUES (4,16);
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
# Same thing in row mode.
|
||||
DROP TABLE t1;
|
||||
SET binlog_format='row';
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB
|
||||
PARTITION BY KEY (a) PARTITIONS 2;
|
||||
--let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
|
||||
--let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1)
|
||||
INSERT INTO t1 VALUES (1,1);
|
||||
INSERT INTO t1 VALUES (2,2), (3,8);
|
||||
INSERT INTO t1 VALUES (4,16);
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
DROP TABLE t1;
|
@ -9,3 +9,16 @@
|
||||
# Do not use any TAB characters for whitespace.
|
||||
#
|
||||
##############################################################################
|
||||
sizing_off: not updated for 10.0 yet
|
||||
sizing_med: not updated for 10.0 yet
|
||||
sizing_low: not updated for 10.0 yet
|
||||
sizing_high: not updated for 10.0 yet
|
||||
sizing_growth: not updated for 10.0 yet
|
||||
sizing_default: not updated for 10.0 yet
|
||||
|
||||
binlog_edge_mix: needs slave_relay_log_info
|
||||
binlog_edge_row: needs slave_relay_log_info
|
||||
binlog_edge_stmt: needs slave_relay_log_info
|
||||
binlog_ok_mix: needs slave_relay_log_info
|
||||
binlog_ok_row: needs slave_relay_log_info
|
||||
binlog_ok_stmt: needs slave_relay_log_info
|
||||
|
188
mysql-test/suite/perfschema/include/binlog_edge_common.inc
Normal file
188
mysql-test/suite/perfschema/include/binlog_edge_common.inc
Normal file
@ -0,0 +1,188 @@
|
||||
# Test replication, when using special non-replicated tables.
|
||||
#
|
||||
# This test involve special statements that use non-replicated tables.
|
||||
# Changes affecting non replicated tables are never written to the binlog.
|
||||
# Executing these statements may or may not work, as the statements involved
|
||||
# are edge cases.
|
||||
# In MIXED or ROW binlog format, execution should succeed,
|
||||
# and only partial data (the rows affecting replicated tables only)
|
||||
# should be written to the binlog.
|
||||
# In STATEMENT binlog format, execution should
|
||||
# raise a warning (ER_BINLOG_UNSAFE_STATEMENT) if a non replicated table is
|
||||
# only read from, or fail with an error (ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES)
|
||||
# if a non replicated table is written to.
|
||||
#
|
||||
# SHOW ERRORS will print in the
|
||||
# test .result file the exact outcome.
|
||||
|
||||
RESET MASTER;
|
||||
|
||||
--disable_warnings
|
||||
drop database if exists my_replicated_db;
|
||||
--enable_warnings
|
||||
|
||||
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
|
||||
|
||||
create database my_replicated_db;
|
||||
|
||||
create table my_replicated_db.my_tx_table(a bigint) engine = innodb;
|
||||
create table my_replicated_db.my_non_tx_table(a bigint) engine = myisam;
|
||||
create table my_replicated_db.my_bh_table(a bigint) engine = blackhole;
|
||||
|
||||
use test;
|
||||
drop table if exists marker_start;
|
||||
|
||||
use my_replicated_db;
|
||||
|
||||
insert into my_tx_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
|
||||
insert into my_non_tx_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
|
||||
insert into my_bh_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
|
||||
use test;
|
||||
drop table if exists marker_insert_select;
|
||||
|
||||
use my_replicated_db;
|
||||
|
||||
# Note:
|
||||
# The queries used here do not make any sense (no semantic).
|
||||
# What this test is interrested in, is check the behavior
|
||||
# when replicating queries that mix both:
|
||||
# - non replicated tables
|
||||
# - replicated tables
|
||||
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
|
||||
insert into my_bh_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
|
||||
# For the information_schema,
|
||||
# no error is enforced yet.
|
||||
# Documenting the current behavior
|
||||
|
||||
insert into my_tx_table(a)
|
||||
select id from information_schema.processlist;
|
||||
|
||||
insert into my_non_tx_table(a)
|
||||
select id from information_schema.processlist;
|
||||
|
||||
insert into my_bh_table(a)
|
||||
select id from information_schema.processlist;
|
||||
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
|
||||
insert into my_bh_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
|
||||
insert into my_bh_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
|
||||
insert into my_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
|
||||
insert into my_non_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
|
||||
insert into my_bh_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
|
||||
insert into my_tx_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
|
||||
insert into my_non_tx_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
|
||||
insert into my_bh_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
|
||||
insert into my_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
|
||||
insert into my_non_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
|
||||
insert into my_bh_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
|
||||
use test;
|
||||
drop table if exists marker_multi_update;
|
||||
|
||||
use my_replicated_db;
|
||||
|
||||
--error 0, ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES
|
||||
update my_tx_table, performance_schema.setup_instruments
|
||||
set my_tx_table.a = my_tx_table.a + 1,
|
||||
performance_schema.setup_instruments.timed= 'NO';
|
||||
|
||||
--error 0, ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES
|
||||
update my_non_tx_table, performance_schema.setup_instruments
|
||||
set my_non_tx_table.a = my_non_tx_table.a + 1,
|
||||
performance_schema.setup_instruments.timed= 'NO';
|
||||
|
||||
--error 0, ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES
|
||||
update my_bh_table, performance_schema.setup_instruments
|
||||
set my_bh_table.a = my_bh_table.a + 1,
|
||||
performance_schema.setup_instruments.timed= 'NO';
|
||||
|
||||
use test;
|
||||
drop table if exists marker_multi_delete;
|
||||
|
||||
use my_replicated_db;
|
||||
|
||||
insert into performance_schema.setup_actors
|
||||
values ('FOO', 'FOO', 'FOO');
|
||||
|
||||
--error 0, ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES
|
||||
delete my_tx_table.*, performance_schema.setup_actors.*
|
||||
from my_tx_table, performance_schema.setup_actors
|
||||
where my_tx_table.a != 1000
|
||||
or performance_schema.setup_actors.role='FOO';
|
||||
|
||||
insert into performance_schema.setup_actors
|
||||
values ('BAR', 'BAR', 'BAR');
|
||||
|
||||
--error 0, ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES
|
||||
delete my_non_tx_table.*, performance_schema.setup_actors.*
|
||||
from my_non_tx_table, performance_schema.setup_actors
|
||||
where my_non_tx_table.a != 1000
|
||||
or performance_schema.setup_actors.role='BAR';
|
||||
|
||||
insert into performance_schema.setup_actors
|
||||
values ('BAZ', 'BAZ', 'BAZ');
|
||||
|
||||
--error 0, ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES
|
||||
delete my_bh_table.*, performance_schema.setup_actors.*
|
||||
from my_bh_table, performance_schema.setup_actors
|
||||
where my_bh_table.a != 1000
|
||||
or performance_schema.setup_actors.role='BAZ';
|
||||
|
||||
use test;
|
||||
drop table if exists marker_end;
|
||||
|
||||
drop database my_replicated_db;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
# Restore performance_schema.setup_actors, damaged by this script
|
||||
|
||||
truncate table performance_schema.setup_actors;
|
||||
insert into performance_schema.setup_actors values ('%', '%', '%');
|
||||
|
146
mysql-test/suite/perfschema/include/binlog_ok_common.inc
Normal file
146
mysql-test/suite/perfschema/include/binlog_ok_common.inc
Normal file
@ -0,0 +1,146 @@
|
||||
# Test replication, when using special non-replicated tables.
|
||||
#
|
||||
# This test involve special statements that use non-replicated tables.
|
||||
# Changes affecting non replicated tables are never written to the binlog.
|
||||
# Executing these statements should work nicely with replication in all cases:
|
||||
# - STATEMENT binlog format
|
||||
# - MIXED binlog format
|
||||
# - ROW binlog format.
|
||||
|
||||
RESET MASTER;
|
||||
|
||||
--disable_warnings
|
||||
drop database if exists my_local_db;
|
||||
--enable_warnings
|
||||
|
||||
create database my_local_db;
|
||||
|
||||
create table my_local_db.my_tx_table(a bigint) engine = innodb;
|
||||
create table my_local_db.my_non_tx_table(a bigint) engine = myisam;
|
||||
|
||||
use test;
|
||||
drop table if exists marker_start;
|
||||
|
||||
# --binlog-ignore-db only works with the current database.
|
||||
use my_local_db;
|
||||
|
||||
insert into my_tx_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
|
||||
insert into my_non_tx_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
|
||||
use test;
|
||||
drop table if exists marker_truncate;
|
||||
|
||||
use performance_schema;
|
||||
truncate table events_waits_history;
|
||||
truncate table events_waits_history_long;
|
||||
|
||||
use test;
|
||||
truncate table performance_schema.events_statements_history_long;
|
||||
truncate table performance_schema.host_cache;
|
||||
|
||||
use test;
|
||||
drop table if exists marker_update;
|
||||
|
||||
use performance_schema;
|
||||
update setup_instruments set enabled='NO';
|
||||
update setup_instruments set timed='NO';
|
||||
use test;
|
||||
update performance_schema.setup_instruments set enabled='YES', timed='YES';
|
||||
update performance_schema.threads set instrumented='YES';
|
||||
|
||||
use test;
|
||||
drop table if exists marker_insert;
|
||||
|
||||
insert into performance_schema.setup_actors(`user`, `host`, `role`)
|
||||
values ('XXX', 'XXX', 'XXX'),
|
||||
('YYY', 'YYY', 'YYY'),
|
||||
('ZZZ', 'ZZZ', 'ZZZ');
|
||||
|
||||
select * from performance_schema.setup_actors
|
||||
where user in ('XXX', 'YYY', 'ZZZ') order by user;
|
||||
|
||||
insert into performance_schema.setup_objects
|
||||
(object_type, object_schema, object_name, enabled, timed)
|
||||
values ('TABLE', 'DB1', 'AAA', 'YES', 'YES'),
|
||||
('TABLE', 'DB1', 'BBB', 'NO', 'NO'),
|
||||
('TABLE', 'DB2', 'CCC', 'YES', 'NO'),
|
||||
('TABLE', 'DB2', 'DDD', 'NO', 'YES');
|
||||
|
||||
select * from performance_schema.setup_objects
|
||||
where object_schema like 'DB%' order by object_name;
|
||||
|
||||
use test;
|
||||
drop table if exists marker_insert_select;
|
||||
|
||||
# Note:
|
||||
# The queries used here do not make any sense (no semantic).
|
||||
# What this test is interrested in, is check the behavior
|
||||
# when replicating queries that mix both:
|
||||
# - non replicated tables
|
||||
# - replicated tables
|
||||
|
||||
use my_local_db;
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
|
||||
insert into my_tx_table(a)
|
||||
select id from information_schema.processlist;
|
||||
|
||||
insert into my_non_tx_table(a)
|
||||
select id from information_schema.processlist;
|
||||
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
|
||||
insert into my_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
|
||||
insert into my_non_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
|
||||
insert into my_tx_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
|
||||
insert into my_non_tx_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
|
||||
insert into my_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
|
||||
insert into my_non_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
|
||||
use test;
|
||||
drop table if exists marker_delete;
|
||||
|
||||
delete from performance_schema.setup_actors
|
||||
where user in ('XXX', 'YYY', 'ZZZ');
|
||||
|
||||
delete from performance_schema.setup_objects
|
||||
where object_schema like 'DB%';
|
||||
|
||||
use test;
|
||||
drop table if exists marker_end;
|
||||
|
||||
drop database my_local_db;
|
||||
|
||||
# The content of the binlog dumped in the result file
|
||||
# should not contain any references to non-replicated tables.
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
23
mysql-test/suite/perfschema/include/disable_instruments.inc
Normal file
23
mysql-test/suite/perfschema/include/disable_instruments.inc
Normal file
@ -0,0 +1,23 @@
|
||||
# Tests for the performance schema
|
||||
|
||||
# ==========================================
|
||||
# HELPER include/disable_instruments
|
||||
# ==========================================
|
||||
#
|
||||
# ==== Usage ====
|
||||
#
|
||||
# 1. Define the instrument to be disabled/enabled:
|
||||
#
|
||||
# let $pfs_instrument=<instrument>
|
||||
#
|
||||
# Where <instrument> is the instrument name with or without wildcards, e.g.
|
||||
#
|
||||
# let $pfs_instrument='%statement/sql%'
|
||||
#
|
||||
--disable_query_log ONCE
|
||||
|
||||
eval update performance_schema.setup_instruments
|
||||
set enabled='no', timed='no'
|
||||
where name like $pfs_instrument;
|
||||
|
||||
|
23
mysql-test/suite/perfschema/include/enable_instruments.inc
Normal file
23
mysql-test/suite/perfschema/include/enable_instruments.inc
Normal file
@ -0,0 +1,23 @@
|
||||
# Tests for the performance schema
|
||||
|
||||
# ==========================================
|
||||
# HELPER include/enable_instruments
|
||||
# ==========================================
|
||||
#
|
||||
# ==== Usage ====
|
||||
#
|
||||
# 1. Define the instrument to be enabled/disabled:
|
||||
#
|
||||
# let $pfs_instrument=<instrument>
|
||||
#
|
||||
# Where <instrument> is the instrument name with or without wildcards, e.g.
|
||||
#
|
||||
# let $pfs_instrument='%statement/sql%'
|
||||
#
|
||||
--disable_query_log ONCE
|
||||
|
||||
eval update performance_schema.setup_instruments
|
||||
set enabled='yes', timed='yes'
|
||||
where name like $pfs_instrument;
|
||||
|
||||
|
@ -123,8 +123,8 @@ update performance_schema.setup_instruments set enabled='YES', timed='YES'
|
||||
update performance_schema.setup_instruments set enabled='YES', timed='YES'
|
||||
where name in ('statement/sql/select',
|
||||
'statement/sql/insert',
|
||||
'statement/com/',
|
||||
'statement/com/Query',
|
||||
'statement/abstract/new_packet',
|
||||
'statement/abstract/Query',
|
||||
'statement/com/Quit',
|
||||
'statement/com/error');
|
||||
|
||||
|
13
mysql-test/suite/perfschema/include/have_aligned_memory.inc
Normal file
13
mysql-test/suite/perfschema/include/have_aligned_memory.inc
Normal file
@ -0,0 +1,13 @@
|
||||
# The performance schema internal structures are compiled with PFS_ALIGN,
|
||||
# and the sizeof() structures is platform dependent.
|
||||
#
|
||||
# For tests sensitive to the internal sizes (show engine performance_schema
|
||||
# status), make sure we use a platform with aligned memory.
|
||||
|
||||
--disable_query_log
|
||||
let $aligned = `SELECT count(*) from performance_schema.session_connect_attrs where PROCESSLIST_ID = connection_id() and ATTR_NAME = '_os' and ATTR_VALUE in ('Linux', 'Windows')`;
|
||||
if (!$aligned)
|
||||
{
|
||||
skip Need a platform with aligned memory;
|
||||
}
|
||||
--enable_query_log
|
@ -0,0 +1,15 @@
|
||||
# Tests for the performance schema
|
||||
|
||||
# ==========================================
|
||||
# HELPER include/rpl_truncate_statements.inc
|
||||
# ==========================================
|
||||
|
||||
--disable_query_log
|
||||
update performance_schema.setup_instruments set enabled='no', timed='no' where name like '%statement/%';
|
||||
truncate table performance_schema.events_waits_history_long;
|
||||
truncate table performance_schema.events_statements_summary_by_digest;
|
||||
truncate table performance_schema.events_statements_history;
|
||||
truncate table performance_schema.events_statements_history_long;
|
||||
update performance_schema.setup_instruments set enabled='yes', timed='yes' where name like '%statement/%';
|
||||
--enable_query_log
|
||||
|
@ -2,8 +2,8 @@
|
||||
show variables like "table_definition_cache";
|
||||
show variables like "table_open_cache";
|
||||
show variables like "max_connections";
|
||||
# Results vary by platform:
|
||||
# show variables like "open_files_limit";
|
||||
# open_files_limit depends on OS configuration (ulimit -n)
|
||||
#show variables like "open_files_limit";
|
||||
show variables like "%performance_schema%";
|
||||
show status like "%performance_schema%";
|
||||
|
||||
|
178
mysql-test/suite/perfschema/r/binlog_edge_mix.result
Normal file
178
mysql-test/suite/perfschema/r/binlog_edge_mix.result
Normal file
@ -0,0 +1,178 @@
|
||||
set binlog_format=mixed;
|
||||
RESET MASTER;
|
||||
drop database if exists my_replicated_db;
|
||||
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
|
||||
create database my_replicated_db;
|
||||
create table my_replicated_db.my_tx_table(a bigint) engine = innodb;
|
||||
create table my_replicated_db.my_non_tx_table(a bigint) engine = myisam;
|
||||
create table my_replicated_db.my_bh_table(a bigint) engine = blackhole;
|
||||
use test;
|
||||
drop table if exists marker_start;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_start'
|
||||
use my_replicated_db;
|
||||
insert into my_tx_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
insert into my_non_tx_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
insert into my_bh_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
use test;
|
||||
drop table if exists marker_insert_select;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_insert_select'
|
||||
use my_replicated_db;
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
insert into my_bh_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
insert into my_tx_table(a)
|
||||
select id from information_schema.processlist;
|
||||
insert into my_non_tx_table(a)
|
||||
select id from information_schema.processlist;
|
||||
insert into my_bh_table(a)
|
||||
select id from information_schema.processlist;
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
insert into my_bh_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
insert into my_bh_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
insert into my_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
insert into my_non_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
insert into my_bh_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
insert into my_tx_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
insert into my_non_tx_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
insert into my_bh_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
insert into my_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
insert into my_non_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
insert into my_bh_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
use test;
|
||||
drop table if exists marker_multi_update;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_multi_update'
|
||||
use my_replicated_db;
|
||||
update my_tx_table, performance_schema.setup_instruments
|
||||
set my_tx_table.a = my_tx_table.a + 1,
|
||||
performance_schema.setup_instruments.timed= 'NO';
|
||||
update my_non_tx_table, performance_schema.setup_instruments
|
||||
set my_non_tx_table.a = my_non_tx_table.a + 1,
|
||||
performance_schema.setup_instruments.timed= 'NO';
|
||||
update my_bh_table, performance_schema.setup_instruments
|
||||
set my_bh_table.a = my_bh_table.a + 1,
|
||||
performance_schema.setup_instruments.timed= 'NO';
|
||||
use test;
|
||||
drop table if exists marker_multi_delete;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_multi_delete'
|
||||
use my_replicated_db;
|
||||
insert into performance_schema.setup_actors
|
||||
values ('FOO', 'FOO', 'FOO');
|
||||
delete my_tx_table.*, performance_schema.setup_actors.*
|
||||
from my_tx_table, performance_schema.setup_actors
|
||||
where my_tx_table.a != 1000
|
||||
or performance_schema.setup_actors.role='FOO';
|
||||
insert into performance_schema.setup_actors
|
||||
values ('BAR', 'BAR', 'BAR');
|
||||
delete my_non_tx_table.*, performance_schema.setup_actors.*
|
||||
from my_non_tx_table, performance_schema.setup_actors
|
||||
where my_non_tx_table.a != 1000
|
||||
or performance_schema.setup_actors.role='BAR';
|
||||
insert into performance_schema.setup_actors
|
||||
values ('BAZ', 'BAZ', 'BAZ');
|
||||
delete my_bh_table.*, performance_schema.setup_actors.*
|
||||
from my_bh_table, performance_schema.setup_actors
|
||||
where my_bh_table.a != 1000
|
||||
or performance_schema.setup_actors.role='BAZ';
|
||||
use test;
|
||||
drop table if exists marker_end;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_end'
|
||||
drop database my_replicated_db;
|
||||
include/show_binlog_events.inc
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # drop database if exists my_replicated_db
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `mtr`; INSERT INTO test_suppressions (pattern) VALUES ( NAME_CONST('pattern',_latin1'Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT' COLLATE 'latin1_swedish_ci'))
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # create database my_replicated_db
|
||||
master-bin.000001 # Query # # use `test`; create table my_replicated_db.my_tx_table(a bigint) engine = innodb
|
||||
master-bin.000001 # Query # # use `test`; create table my_replicated_db.my_non_tx_table(a bigint) engine = myisam
|
||||
master-bin.000001 # Query # # use `test`; create table my_replicated_db.my_bh_table(a bigint) engine = blackhole
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_start` /* generated by server */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
|
||||
values (1000), (2000), (3000)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
|
||||
values (1000), (2000), (3000)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
|
||||
values (1000), (2000), (3000)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_insert_select` /* generated by server */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_tx_table)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_non_tx_table)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_bh_table)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
|
||||
select id from information_schema.processlist
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
|
||||
select id from information_schema.processlist
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
|
||||
select id from information_schema.processlist
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_multi_update` /* generated by server */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_tx_table)
|
||||
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_non_tx_table)
|
||||
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_multi_delete` /* generated by server */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_tx_table)
|
||||
master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_non_tx_table)
|
||||
master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_end` /* generated by server */
|
||||
master-bin.000001 # Query # # drop database my_replicated_db
|
||||
truncate table performance_schema.setup_actors;
|
||||
insert into performance_schema.setup_actors values ('%', '%', '%');
|
183
mysql-test/suite/perfschema/r/binlog_edge_row.result
Normal file
183
mysql-test/suite/perfschema/r/binlog_edge_row.result
Normal file
@ -0,0 +1,183 @@
|
||||
set binlog_format=row;
|
||||
RESET MASTER;
|
||||
drop database if exists my_replicated_db;
|
||||
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
|
||||
create database my_replicated_db;
|
||||
create table my_replicated_db.my_tx_table(a bigint) engine = innodb;
|
||||
create table my_replicated_db.my_non_tx_table(a bigint) engine = myisam;
|
||||
create table my_replicated_db.my_bh_table(a bigint) engine = blackhole;
|
||||
use test;
|
||||
drop table if exists marker_start;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_start'
|
||||
use my_replicated_db;
|
||||
insert into my_tx_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
insert into my_non_tx_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
insert into my_bh_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
use test;
|
||||
drop table if exists marker_insert_select;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_insert_select'
|
||||
use my_replicated_db;
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
insert into my_bh_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
insert into my_tx_table(a)
|
||||
select id from information_schema.processlist;
|
||||
insert into my_non_tx_table(a)
|
||||
select id from information_schema.processlist;
|
||||
insert into my_bh_table(a)
|
||||
select id from information_schema.processlist;
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
insert into my_bh_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
insert into my_bh_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
insert into my_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
insert into my_non_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
insert into my_bh_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
insert into my_tx_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
insert into my_non_tx_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
insert into my_bh_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
insert into my_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
insert into my_non_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
insert into my_bh_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
use test;
|
||||
drop table if exists marker_multi_update;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_multi_update'
|
||||
use my_replicated_db;
|
||||
update my_tx_table, performance_schema.setup_instruments
|
||||
set my_tx_table.a = my_tx_table.a + 1,
|
||||
performance_schema.setup_instruments.timed= 'NO';
|
||||
update my_non_tx_table, performance_schema.setup_instruments
|
||||
set my_non_tx_table.a = my_non_tx_table.a + 1,
|
||||
performance_schema.setup_instruments.timed= 'NO';
|
||||
update my_bh_table, performance_schema.setup_instruments
|
||||
set my_bh_table.a = my_bh_table.a + 1,
|
||||
performance_schema.setup_instruments.timed= 'NO';
|
||||
Warnings:
|
||||
Warning 1870 Row events are not logged for UPDATE statements that modify BLACKHOLE tables in row format. Table(s): 'my_bh_table.'
|
||||
use test;
|
||||
drop table if exists marker_multi_delete;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_multi_delete'
|
||||
use my_replicated_db;
|
||||
insert into performance_schema.setup_actors
|
||||
values ('FOO', 'FOO', 'FOO');
|
||||
delete my_tx_table.*, performance_schema.setup_actors.*
|
||||
from my_tx_table, performance_schema.setup_actors
|
||||
where my_tx_table.a != 1000
|
||||
or performance_schema.setup_actors.role='FOO';
|
||||
insert into performance_schema.setup_actors
|
||||
values ('BAR', 'BAR', 'BAR');
|
||||
delete my_non_tx_table.*, performance_schema.setup_actors.*
|
||||
from my_non_tx_table, performance_schema.setup_actors
|
||||
where my_non_tx_table.a != 1000
|
||||
or performance_schema.setup_actors.role='BAR';
|
||||
insert into performance_schema.setup_actors
|
||||
values ('BAZ', 'BAZ', 'BAZ');
|
||||
delete my_bh_table.*, performance_schema.setup_actors.*
|
||||
from my_bh_table, performance_schema.setup_actors
|
||||
where my_bh_table.a != 1000
|
||||
or performance_schema.setup_actors.role='BAZ';
|
||||
Warnings:
|
||||
Warning 1870 Row events are not logged for DELETE statements that modify BLACKHOLE tables in row format. Table(s): 'my_bh_table.'
|
||||
use test;
|
||||
drop table if exists marker_end;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_end'
|
||||
drop database my_replicated_db;
|
||||
include/show_binlog_events.inc
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # drop database if exists my_replicated_db
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (mtr.test_suppressions)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # create database my_replicated_db
|
||||
master-bin.000001 # Query # # use `test`; create table my_replicated_db.my_tx_table(a bigint) engine = innodb
|
||||
master-bin.000001 # Query # # use `test`; create table my_replicated_db.my_non_tx_table(a bigint) engine = myisam
|
||||
master-bin.000001 # Query # # use `test`; create table my_replicated_db.my_bh_table(a bigint) engine = blackhole
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_start` /* generated by server */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_tx_table)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_non_tx_table)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_bh_table)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_insert_select` /* generated by server */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_tx_table)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_non_tx_table)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_bh_table)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_tx_table)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_non_tx_table)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_bh_table)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_multi_update` /* generated by server */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_tx_table)
|
||||
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_non_tx_table)
|
||||
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_multi_delete` /* generated by server */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_tx_table)
|
||||
master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_non_tx_table)
|
||||
master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_end` /* generated by server */
|
||||
master-bin.000001 # Query # # drop database my_replicated_db
|
||||
truncate table performance_schema.setup_actors;
|
||||
insert into performance_schema.setup_actors values ('%', '%', '%');
|
258
mysql-test/suite/perfschema/r/binlog_edge_stmt.result
Normal file
258
mysql-test/suite/perfschema/r/binlog_edge_stmt.result
Normal file
@ -0,0 +1,258 @@
|
||||
set binlog_format=statement;
|
||||
RESET MASTER;
|
||||
drop database if exists my_replicated_db;
|
||||
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
|
||||
create database my_replicated_db;
|
||||
create table my_replicated_db.my_tx_table(a bigint) engine = innodb;
|
||||
create table my_replicated_db.my_non_tx_table(a bigint) engine = myisam;
|
||||
create table my_replicated_db.my_bh_table(a bigint) engine = blackhole;
|
||||
use test;
|
||||
drop table if exists marker_start;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_start'
|
||||
use my_replicated_db;
|
||||
insert into my_tx_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
insert into my_non_tx_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
insert into my_bh_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
use test;
|
||||
drop table if exists marker_insert_select;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_insert_select'
|
||||
use my_replicated_db;
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
insert into my_bh_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
insert into my_tx_table(a)
|
||||
select id from information_schema.processlist;
|
||||
insert into my_non_tx_table(a)
|
||||
select id from information_schema.processlist;
|
||||
insert into my_bh_table(a)
|
||||
select id from information_schema.processlist;
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
insert into my_bh_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
insert into my_bh_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
insert into my_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
insert into my_non_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
insert into my_bh_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
insert into my_tx_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
insert into my_non_tx_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
insert into my_bh_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
insert into my_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
insert into my_non_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
insert into my_bh_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
use test;
|
||||
drop table if exists marker_multi_update;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_multi_update'
|
||||
use my_replicated_db;
|
||||
update my_tx_table, performance_schema.setup_instruments
|
||||
set my_tx_table.a = my_tx_table.a + 1,
|
||||
performance_schema.setup_instruments.timed= 'NO';
|
||||
update my_non_tx_table, performance_schema.setup_instruments
|
||||
set my_non_tx_table.a = my_non_tx_table.a + 1,
|
||||
performance_schema.setup_instruments.timed= 'NO';
|
||||
update my_bh_table, performance_schema.setup_instruments
|
||||
set my_bh_table.a = my_bh_table.a + 1,
|
||||
performance_schema.setup_instruments.timed= 'NO';
|
||||
use test;
|
||||
drop table if exists marker_multi_delete;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_multi_delete'
|
||||
use my_replicated_db;
|
||||
insert into performance_schema.setup_actors
|
||||
values ('FOO', 'FOO', 'FOO');
|
||||
delete my_tx_table.*, performance_schema.setup_actors.*
|
||||
from my_tx_table, performance_schema.setup_actors
|
||||
where my_tx_table.a != 1000
|
||||
or performance_schema.setup_actors.role='FOO';
|
||||
insert into performance_schema.setup_actors
|
||||
values ('BAR', 'BAR', 'BAR');
|
||||
delete my_non_tx_table.*, performance_schema.setup_actors.*
|
||||
from my_non_tx_table, performance_schema.setup_actors
|
||||
where my_non_tx_table.a != 1000
|
||||
or performance_schema.setup_actors.role='BAR';
|
||||
insert into performance_schema.setup_actors
|
||||
values ('BAZ', 'BAZ', 'BAZ');
|
||||
delete my_bh_table.*, performance_schema.setup_actors.*
|
||||
from my_bh_table, performance_schema.setup_actors
|
||||
where my_bh_table.a != 1000
|
||||
or performance_schema.setup_actors.role='BAZ';
|
||||
use test;
|
||||
drop table if exists marker_end;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_end'
|
||||
drop database my_replicated_db;
|
||||
include/show_binlog_events.inc
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # drop database if exists my_replicated_db
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `mtr`; INSERT INTO test_suppressions (pattern) VALUES ( NAME_CONST('pattern',_latin1'Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT' COLLATE 'latin1_swedish_ci'))
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # create database my_replicated_db
|
||||
master-bin.000001 # Query # # use `test`; create table my_replicated_db.my_tx_table(a bigint) engine = innodb
|
||||
master-bin.000001 # Query # # use `test`; create table my_replicated_db.my_non_tx_table(a bigint) engine = myisam
|
||||
master-bin.000001 # Query # # use `test`; create table my_replicated_db.my_bh_table(a bigint) engine = blackhole
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_start` /* generated by server */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
|
||||
values (1000), (2000), (3000)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
|
||||
values (1000), (2000), (3000)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
|
||||
values (1000), (2000), (3000)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_insert_select` /* generated by server */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
|
||||
select thread_id from performance_schema.threads
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
|
||||
select thread_id from performance_schema.threads
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
|
||||
select thread_id from performance_schema.threads
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
|
||||
select id from information_schema.processlist
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
|
||||
select id from information_schema.processlist
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
|
||||
select id from information_schema.processlist
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
|
||||
select thread_id from mysql.general_log
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
|
||||
select thread_id from mysql.general_log
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
|
||||
select thread_id from mysql.general_log
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
|
||||
select thread_id from mysql.slow_log
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
|
||||
select thread_id from mysql.slow_log
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
|
||||
select thread_id from mysql.slow_log
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_multi_update` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_multi_delete` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_end` /* generated by server */
|
||||
master-bin.000001 # Query # # drop database my_replicated_db
|
||||
truncate table performance_schema.setup_actors;
|
||||
insert into performance_schema.setup_actors values ('%', '%', '%');
|
119
mysql-test/suite/perfschema/r/binlog_ok_mix.result
Normal file
119
mysql-test/suite/perfschema/r/binlog_ok_mix.result
Normal file
@ -0,0 +1,119 @@
|
||||
set binlog_format=mixed;
|
||||
RESET MASTER;
|
||||
drop database if exists my_local_db;
|
||||
create database my_local_db;
|
||||
create table my_local_db.my_tx_table(a bigint) engine = innodb;
|
||||
create table my_local_db.my_non_tx_table(a bigint) engine = myisam;
|
||||
use test;
|
||||
drop table if exists marker_start;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_start'
|
||||
use my_local_db;
|
||||
insert into my_tx_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
insert into my_non_tx_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
use test;
|
||||
drop table if exists marker_truncate;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_truncate'
|
||||
use performance_schema;
|
||||
truncate table events_waits_history;
|
||||
truncate table events_waits_history_long;
|
||||
use test;
|
||||
truncate table performance_schema.events_statements_history_long;
|
||||
truncate table performance_schema.host_cache;
|
||||
use test;
|
||||
drop table if exists marker_update;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_update'
|
||||
use performance_schema;
|
||||
update setup_instruments set enabled='NO';
|
||||
update setup_instruments set timed='NO';
|
||||
use test;
|
||||
update performance_schema.setup_instruments set enabled='YES', timed='YES';
|
||||
update performance_schema.threads set instrumented='YES';
|
||||
use test;
|
||||
drop table if exists marker_insert;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_insert'
|
||||
insert into performance_schema.setup_actors(`user`, `host`, `role`)
|
||||
values ('XXX', 'XXX', 'XXX'),
|
||||
('YYY', 'YYY', 'YYY'),
|
||||
('ZZZ', 'ZZZ', 'ZZZ');
|
||||
select * from performance_schema.setup_actors
|
||||
where user in ('XXX', 'YYY', 'ZZZ') order by user;
|
||||
HOST USER ROLE
|
||||
XXX XXX XXX
|
||||
YYY YYY YYY
|
||||
ZZZ ZZZ ZZZ
|
||||
insert into performance_schema.setup_objects
|
||||
(object_type, object_schema, object_name, enabled, timed)
|
||||
values ('TABLE', 'DB1', 'AAA', 'YES', 'YES'),
|
||||
('TABLE', 'DB1', 'BBB', 'NO', 'NO'),
|
||||
('TABLE', 'DB2', 'CCC', 'YES', 'NO'),
|
||||
('TABLE', 'DB2', 'DDD', 'NO', 'YES');
|
||||
select * from performance_schema.setup_objects
|
||||
where object_schema like 'DB%' order by object_name;
|
||||
OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
|
||||
TABLE DB1 AAA YES YES
|
||||
TABLE DB1 BBB NO NO
|
||||
TABLE DB2 CCC YES NO
|
||||
TABLE DB2 DDD NO YES
|
||||
use test;
|
||||
drop table if exists marker_insert_select;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_insert_select'
|
||||
use my_local_db;
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
insert into my_tx_table(a)
|
||||
select id from information_schema.processlist;
|
||||
insert into my_non_tx_table(a)
|
||||
select id from information_schema.processlist;
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
insert into my_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
insert into my_non_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
insert into my_tx_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
insert into my_non_tx_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
insert into my_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
insert into my_non_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
use test;
|
||||
drop table if exists marker_delete;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_delete'
|
||||
delete from performance_schema.setup_actors
|
||||
where user in ('XXX', 'YYY', 'ZZZ');
|
||||
delete from performance_schema.setup_objects
|
||||
where object_schema like 'DB%';
|
||||
use test;
|
||||
drop table if exists marker_end;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_end'
|
||||
drop database my_local_db;
|
||||
include/show_binlog_events.inc
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; create table my_local_db.my_tx_table(a bigint) engine = innodb
|
||||
master-bin.000001 # Query # # use `test`; create table my_local_db.my_non_tx_table(a bigint) engine = myisam
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_start` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_truncate` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_update` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_insert` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_insert_select` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_delete` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_end` /* generated by server */
|
119
mysql-test/suite/perfschema/r/binlog_ok_row.result
Normal file
119
mysql-test/suite/perfschema/r/binlog_ok_row.result
Normal file
@ -0,0 +1,119 @@
|
||||
set binlog_format=row;
|
||||
RESET MASTER;
|
||||
drop database if exists my_local_db;
|
||||
create database my_local_db;
|
||||
create table my_local_db.my_tx_table(a bigint) engine = innodb;
|
||||
create table my_local_db.my_non_tx_table(a bigint) engine = myisam;
|
||||
use test;
|
||||
drop table if exists marker_start;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_start'
|
||||
use my_local_db;
|
||||
insert into my_tx_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
insert into my_non_tx_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
use test;
|
||||
drop table if exists marker_truncate;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_truncate'
|
||||
use performance_schema;
|
||||
truncate table events_waits_history;
|
||||
truncate table events_waits_history_long;
|
||||
use test;
|
||||
truncate table performance_schema.events_statements_history_long;
|
||||
truncate table performance_schema.host_cache;
|
||||
use test;
|
||||
drop table if exists marker_update;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_update'
|
||||
use performance_schema;
|
||||
update setup_instruments set enabled='NO';
|
||||
update setup_instruments set timed='NO';
|
||||
use test;
|
||||
update performance_schema.setup_instruments set enabled='YES', timed='YES';
|
||||
update performance_schema.threads set instrumented='YES';
|
||||
use test;
|
||||
drop table if exists marker_insert;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_insert'
|
||||
insert into performance_schema.setup_actors(`user`, `host`, `role`)
|
||||
values ('XXX', 'XXX', 'XXX'),
|
||||
('YYY', 'YYY', 'YYY'),
|
||||
('ZZZ', 'ZZZ', 'ZZZ');
|
||||
select * from performance_schema.setup_actors
|
||||
where user in ('XXX', 'YYY', 'ZZZ') order by user;
|
||||
HOST USER ROLE
|
||||
XXX XXX XXX
|
||||
YYY YYY YYY
|
||||
ZZZ ZZZ ZZZ
|
||||
insert into performance_schema.setup_objects
|
||||
(object_type, object_schema, object_name, enabled, timed)
|
||||
values ('TABLE', 'DB1', 'AAA', 'YES', 'YES'),
|
||||
('TABLE', 'DB1', 'BBB', 'NO', 'NO'),
|
||||
('TABLE', 'DB2', 'CCC', 'YES', 'NO'),
|
||||
('TABLE', 'DB2', 'DDD', 'NO', 'YES');
|
||||
select * from performance_schema.setup_objects
|
||||
where object_schema like 'DB%' order by object_name;
|
||||
OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
|
||||
TABLE DB1 AAA YES YES
|
||||
TABLE DB1 BBB NO NO
|
||||
TABLE DB2 CCC YES NO
|
||||
TABLE DB2 DDD NO YES
|
||||
use test;
|
||||
drop table if exists marker_insert_select;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_insert_select'
|
||||
use my_local_db;
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
insert into my_tx_table(a)
|
||||
select id from information_schema.processlist;
|
||||
insert into my_non_tx_table(a)
|
||||
select id from information_schema.processlist;
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
insert into my_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
insert into my_non_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
insert into my_tx_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
insert into my_non_tx_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
insert into my_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
insert into my_non_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
use test;
|
||||
drop table if exists marker_delete;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_delete'
|
||||
delete from performance_schema.setup_actors
|
||||
where user in ('XXX', 'YYY', 'ZZZ');
|
||||
delete from performance_schema.setup_objects
|
||||
where object_schema like 'DB%';
|
||||
use test;
|
||||
drop table if exists marker_end;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_end'
|
||||
drop database my_local_db;
|
||||
include/show_binlog_events.inc
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; create table my_local_db.my_tx_table(a bigint) engine = innodb
|
||||
master-bin.000001 # Query # # use `test`; create table my_local_db.my_non_tx_table(a bigint) engine = myisam
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_start` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_truncate` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_update` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_insert` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_insert_select` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_delete` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_end` /* generated by server */
|
119
mysql-test/suite/perfschema/r/binlog_ok_stmt.result
Normal file
119
mysql-test/suite/perfschema/r/binlog_ok_stmt.result
Normal file
@ -0,0 +1,119 @@
|
||||
set binlog_format=statement;
|
||||
RESET MASTER;
|
||||
drop database if exists my_local_db;
|
||||
create database my_local_db;
|
||||
create table my_local_db.my_tx_table(a bigint) engine = innodb;
|
||||
create table my_local_db.my_non_tx_table(a bigint) engine = myisam;
|
||||
use test;
|
||||
drop table if exists marker_start;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_start'
|
||||
use my_local_db;
|
||||
insert into my_tx_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
insert into my_non_tx_table(a)
|
||||
values (1000), (2000), (3000);
|
||||
use test;
|
||||
drop table if exists marker_truncate;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_truncate'
|
||||
use performance_schema;
|
||||
truncate table events_waits_history;
|
||||
truncate table events_waits_history_long;
|
||||
use test;
|
||||
truncate table performance_schema.events_statements_history_long;
|
||||
truncate table performance_schema.host_cache;
|
||||
use test;
|
||||
drop table if exists marker_update;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_update'
|
||||
use performance_schema;
|
||||
update setup_instruments set enabled='NO';
|
||||
update setup_instruments set timed='NO';
|
||||
use test;
|
||||
update performance_schema.setup_instruments set enabled='YES', timed='YES';
|
||||
update performance_schema.threads set instrumented='YES';
|
||||
use test;
|
||||
drop table if exists marker_insert;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_insert'
|
||||
insert into performance_schema.setup_actors(`user`, `host`, `role`)
|
||||
values ('XXX', 'XXX', 'XXX'),
|
||||
('YYY', 'YYY', 'YYY'),
|
||||
('ZZZ', 'ZZZ', 'ZZZ');
|
||||
select * from performance_schema.setup_actors
|
||||
where user in ('XXX', 'YYY', 'ZZZ') order by user;
|
||||
HOST USER ROLE
|
||||
XXX XXX XXX
|
||||
YYY YYY YYY
|
||||
ZZZ ZZZ ZZZ
|
||||
insert into performance_schema.setup_objects
|
||||
(object_type, object_schema, object_name, enabled, timed)
|
||||
values ('TABLE', 'DB1', 'AAA', 'YES', 'YES'),
|
||||
('TABLE', 'DB1', 'BBB', 'NO', 'NO'),
|
||||
('TABLE', 'DB2', 'CCC', 'YES', 'NO'),
|
||||
('TABLE', 'DB2', 'DDD', 'NO', 'YES');
|
||||
select * from performance_schema.setup_objects
|
||||
where object_schema like 'DB%' order by object_name;
|
||||
OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
|
||||
TABLE DB1 AAA YES YES
|
||||
TABLE DB1 BBB NO NO
|
||||
TABLE DB2 CCC YES NO
|
||||
TABLE DB2 DDD NO YES
|
||||
use test;
|
||||
drop table if exists marker_insert_select;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_insert_select'
|
||||
use my_local_db;
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from performance_schema.threads;
|
||||
insert into my_tx_table(a)
|
||||
select id from information_schema.processlist;
|
||||
insert into my_non_tx_table(a)
|
||||
select id from information_schema.processlist;
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from mysql.general_log;
|
||||
insert into my_tx_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
insert into my_non_tx_table(a)
|
||||
select thread_id from mysql.slow_log;
|
||||
insert into my_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
insert into my_non_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_relay_log_info;
|
||||
insert into my_tx_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
insert into my_non_tx_table(a)
|
||||
select Master_log_pos from mysql.slave_master_info;
|
||||
insert into my_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
insert into my_non_tx_table(a)
|
||||
select Relay_log_pos from mysql.slave_worker_info;
|
||||
use test;
|
||||
drop table if exists marker_delete;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_delete'
|
||||
delete from performance_schema.setup_actors
|
||||
where user in ('XXX', 'YYY', 'ZZZ');
|
||||
delete from performance_schema.setup_objects
|
||||
where object_schema like 'DB%';
|
||||
use test;
|
||||
drop table if exists marker_end;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.marker_end'
|
||||
drop database my_local_db;
|
||||
include/show_binlog_events.inc
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; create table my_local_db.my_tx_table(a bigint) engine = innodb
|
||||
master-bin.000001 # Query # # use `test`; create table my_local_db.my_non_tx_table(a bigint) engine = myisam
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_start` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_truncate` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_update` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_insert` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_insert_select` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_delete` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_end` /* generated by server */
|
@ -3,6 +3,7 @@ UPDATE performance_schema.setup_instruments SET enabled = 'YES'
|
||||
WHERE name LIKE 'wait/io/file/%';
|
||||
update performance_schema.threads SET instrumented = 'YES'
|
||||
WHERE PROCESSLIST_ID=connection_id();
|
||||
truncate table performance_schema.events_statements_summary_by_digest;
|
||||
flush status;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (id INT PRIMARY KEY, b CHAR(100) DEFAULT 'initial value')
|
||||
|
@ -2,6 +2,7 @@ UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES';
|
||||
UPDATE performance_schema.setup_instruments SET enabled = 'YES'
|
||||
WHERE name LIKE 'wait/synch/mutex/%'
|
||||
OR name LIKE 'wait/synch/rwlock/%';
|
||||
truncate table performance_schema.events_statements_summary_by_digest;
|
||||
flush status;
|
||||
select NAME from performance_schema.mutex_instances
|
||||
where NAME = 'wait/synch/mutex/sql/TABLE_SHARE::tdc.LOCK_table_share' GROUP BY NAME;
|
||||
|
@ -23,8 +23,10 @@ User Host
|
||||
select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
|
||||
User Host
|
||||
select @@global.max_connect_errors into @saved_max_connect_errors;
|
||||
set global max_connect_errors = 2;
|
||||
set global max_connect_errors = 3;
|
||||
grant select on test.* to 'root'@'santa.claus.ipv4.example.com';
|
||||
create user 'quota'@'santa.claus.ipv4.example.com';
|
||||
grant select on test.* to 'quota'@'santa.claus.ipv4.example.com';
|
||||
select "Con1 is alive";
|
||||
Con1 is alive
|
||||
Con1 is alive
|
||||
@ -207,7 +209,215 @@ COUNT_LOCAL_ERRORS 0
|
||||
COUNT_UNKNOWN_ERRORS 0
|
||||
FIRST_ERROR_SEEN set
|
||||
LAST_ERROR_SEEN set
|
||||
ERROR 08S01: Bad handshake
|
||||
"Dumping performance_schema.host_cache"
|
||||
IP 192.0.2.4
|
||||
HOST santa.claus.ipv4.example.com
|
||||
HOST_VALIDATED YES
|
||||
SUM_CONNECT_ERRORS 2
|
||||
COUNT_HOST_BLOCKED_ERRORS 0
|
||||
COUNT_NAMEINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_NAMEINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FORMAT_ERRORS 0
|
||||
COUNT_ADDRINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_ADDRINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FCRDNS_ERRORS 0
|
||||
COUNT_HOST_ACL_ERRORS 0
|
||||
COUNT_NO_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_HANDSHAKE_ERRORS 2
|
||||
COUNT_PROXY_USER_ERRORS 0
|
||||
COUNT_PROXY_USER_ACL_ERRORS 0
|
||||
COUNT_AUTHENTICATION_ERRORS 0
|
||||
COUNT_SSL_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
|
||||
COUNT_DEFAULT_DATABASE_ERRORS 0
|
||||
COUNT_INIT_CONNECT_ERRORS 0
|
||||
COUNT_LOCAL_ERRORS 0
|
||||
COUNT_UNKNOWN_ERRORS 0
|
||||
FIRST_ERROR_SEEN set
|
||||
LAST_ERROR_SEEN set
|
||||
set global debug_dbug= "-d,native_password_bad_reply";
|
||||
message
|
||||
Valid connection should reset SUM_CONNECT_ERROR counter
|
||||
set global debug_dbug= "+d,native_password_bad_reply";
|
||||
"Dumping performance_schema.host_cache"
|
||||
IP 192.0.2.4
|
||||
HOST santa.claus.ipv4.example.com
|
||||
HOST_VALIDATED YES
|
||||
SUM_CONNECT_ERRORS 0
|
||||
COUNT_HOST_BLOCKED_ERRORS 0
|
||||
COUNT_NAMEINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_NAMEINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FORMAT_ERRORS 0
|
||||
COUNT_ADDRINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_ADDRINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FCRDNS_ERRORS 0
|
||||
COUNT_HOST_ACL_ERRORS 0
|
||||
COUNT_NO_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_HANDSHAKE_ERRORS 2
|
||||
COUNT_PROXY_USER_ERRORS 0
|
||||
COUNT_PROXY_USER_ACL_ERRORS 0
|
||||
COUNT_AUTHENTICATION_ERRORS 0
|
||||
COUNT_SSL_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
|
||||
COUNT_DEFAULT_DATABASE_ERRORS 0
|
||||
COUNT_INIT_CONNECT_ERRORS 0
|
||||
COUNT_LOCAL_ERRORS 0
|
||||
COUNT_UNKNOWN_ERRORS 0
|
||||
FIRST_ERROR_SEEN set
|
||||
LAST_ERROR_SEEN set
|
||||
ERROR 08S01: Bad handshake
|
||||
"Dumping performance_schema.host_cache"
|
||||
IP 192.0.2.4
|
||||
HOST santa.claus.ipv4.example.com
|
||||
HOST_VALIDATED YES
|
||||
SUM_CONNECT_ERRORS 1
|
||||
COUNT_HOST_BLOCKED_ERRORS 0
|
||||
COUNT_NAMEINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_NAMEINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FORMAT_ERRORS 0
|
||||
COUNT_ADDRINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_ADDRINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FCRDNS_ERRORS 0
|
||||
COUNT_HOST_ACL_ERRORS 0
|
||||
COUNT_NO_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_HANDSHAKE_ERRORS 3
|
||||
COUNT_PROXY_USER_ERRORS 0
|
||||
COUNT_PROXY_USER_ACL_ERRORS 0
|
||||
COUNT_AUTHENTICATION_ERRORS 0
|
||||
COUNT_SSL_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
|
||||
COUNT_DEFAULT_DATABASE_ERRORS 0
|
||||
COUNT_INIT_CONNECT_ERRORS 0
|
||||
COUNT_LOCAL_ERRORS 0
|
||||
COUNT_UNKNOWN_ERRORS 0
|
||||
FIRST_ERROR_SEEN set
|
||||
LAST_ERROR_SEEN set
|
||||
ERROR 08S01: Bad handshake
|
||||
"Dumping performance_schema.host_cache"
|
||||
IP 192.0.2.4
|
||||
HOST santa.claus.ipv4.example.com
|
||||
HOST_VALIDATED YES
|
||||
SUM_CONNECT_ERRORS 2
|
||||
COUNT_HOST_BLOCKED_ERRORS 0
|
||||
COUNT_NAMEINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_NAMEINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FORMAT_ERRORS 0
|
||||
COUNT_ADDRINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_ADDRINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FCRDNS_ERRORS 0
|
||||
COUNT_HOST_ACL_ERRORS 0
|
||||
COUNT_NO_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_HANDSHAKE_ERRORS 4
|
||||
COUNT_PROXY_USER_ERRORS 0
|
||||
COUNT_PROXY_USER_ACL_ERRORS 0
|
||||
COUNT_AUTHENTICATION_ERRORS 0
|
||||
COUNT_SSL_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
|
||||
COUNT_DEFAULT_DATABASE_ERRORS 0
|
||||
COUNT_INIT_CONNECT_ERRORS 0
|
||||
COUNT_LOCAL_ERRORS 0
|
||||
COUNT_UNKNOWN_ERRORS 0
|
||||
FIRST_ERROR_SEEN set
|
||||
LAST_ERROR_SEEN set
|
||||
ERROR 08S01: Bad handshake
|
||||
"Dumping performance_schema.host_cache"
|
||||
IP 192.0.2.4
|
||||
HOST santa.claus.ipv4.example.com
|
||||
HOST_VALIDATED YES
|
||||
SUM_CONNECT_ERRORS 3
|
||||
COUNT_HOST_BLOCKED_ERRORS 0
|
||||
COUNT_NAMEINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_NAMEINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FORMAT_ERRORS 0
|
||||
COUNT_ADDRINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_ADDRINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FCRDNS_ERRORS 0
|
||||
COUNT_HOST_ACL_ERRORS 0
|
||||
COUNT_NO_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_HANDSHAKE_ERRORS 5
|
||||
COUNT_PROXY_USER_ERRORS 0
|
||||
COUNT_PROXY_USER_ACL_ERRORS 0
|
||||
COUNT_AUTHENTICATION_ERRORS 0
|
||||
COUNT_SSL_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
|
||||
COUNT_DEFAULT_DATABASE_ERRORS 0
|
||||
COUNT_INIT_CONNECT_ERRORS 0
|
||||
COUNT_LOCAL_ERRORS 0
|
||||
COUNT_UNKNOWN_ERRORS 0
|
||||
FIRST_ERROR_SEEN set
|
||||
LAST_ERROR_SEEN set
|
||||
ERROR HY000: Host '192.0.2.4' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
|
||||
"Dumping performance_schema.host_cache"
|
||||
IP 192.0.2.4
|
||||
HOST santa.claus.ipv4.example.com
|
||||
HOST_VALIDATED YES
|
||||
SUM_CONNECT_ERRORS 3
|
||||
COUNT_HOST_BLOCKED_ERRORS 1
|
||||
COUNT_NAMEINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_NAMEINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FORMAT_ERRORS 0
|
||||
COUNT_ADDRINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_ADDRINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FCRDNS_ERRORS 0
|
||||
COUNT_HOST_ACL_ERRORS 0
|
||||
COUNT_NO_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_HANDSHAKE_ERRORS 5
|
||||
COUNT_PROXY_USER_ERRORS 0
|
||||
COUNT_PROXY_USER_ACL_ERRORS 0
|
||||
COUNT_AUTHENTICATION_ERRORS 0
|
||||
COUNT_SSL_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
|
||||
COUNT_DEFAULT_DATABASE_ERRORS 0
|
||||
COUNT_INIT_CONNECT_ERRORS 0
|
||||
COUNT_LOCAL_ERRORS 0
|
||||
COUNT_UNKNOWN_ERRORS 0
|
||||
FIRST_ERROR_SEEN set
|
||||
LAST_ERROR_SEEN set
|
||||
ERROR HY000: Host '192.0.2.4' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
|
||||
"Dumping performance_schema.host_cache"
|
||||
IP 192.0.2.4
|
||||
HOST santa.claus.ipv4.example.com
|
||||
HOST_VALIDATED YES
|
||||
SUM_CONNECT_ERRORS 3
|
||||
COUNT_HOST_BLOCKED_ERRORS 2
|
||||
COUNT_NAMEINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_NAMEINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FORMAT_ERRORS 0
|
||||
COUNT_ADDRINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_ADDRINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FCRDNS_ERRORS 0
|
||||
COUNT_HOST_ACL_ERRORS 0
|
||||
COUNT_NO_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_HANDSHAKE_ERRORS 5
|
||||
COUNT_PROXY_USER_ERRORS 0
|
||||
COUNT_PROXY_USER_ACL_ERRORS 0
|
||||
COUNT_AUTHENTICATION_ERRORS 0
|
||||
COUNT_SSL_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
|
||||
COUNT_DEFAULT_DATABASE_ERRORS 0
|
||||
COUNT_INIT_CONNECT_ERRORS 0
|
||||
COUNT_LOCAL_ERRORS 0
|
||||
COUNT_UNKNOWN_ERRORS 0
|
||||
FIRST_ERROR_SEEN set
|
||||
LAST_ERROR_SEEN set
|
||||
revoke select on test.* from 'root'@'santa.claus.ipv4.example.com';
|
||||
drop user 'root'@'santa.claus.ipv4.example.com';
|
||||
revoke select on test.* from 'quota'@'santa.claus.ipv4.example.com';
|
||||
drop user 'quota'@'santa.claus.ipv4.example.com';
|
||||
set global max_connect_errors = @saved_max_connect_errors;
|
||||
set global debug_dbug= default;
|
||||
|
@ -23,8 +23,10 @@ User Host
|
||||
select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
|
||||
User Host
|
||||
select @@global.max_connect_errors into @saved_max_connect_errors;
|
||||
set global max_connect_errors = 2;
|
||||
set global max_connect_errors = 3;
|
||||
grant select on test.* to 'root'@'santa.claus.ipv6.example.com';
|
||||
create user 'quota'@'santa.claus.ipv6.example.com';
|
||||
grant select on test.* to 'quota'@'santa.claus.ipv6.example.com';
|
||||
select "Con1 is alive";
|
||||
Con1 is alive
|
||||
Con1 is alive
|
||||
@ -207,7 +209,215 @@ COUNT_LOCAL_ERRORS 0
|
||||
COUNT_UNKNOWN_ERRORS 0
|
||||
FIRST_ERROR_SEEN set
|
||||
LAST_ERROR_SEEN set
|
||||
ERROR 08S01: Bad handshake
|
||||
"Dumping performance_schema.host_cache"
|
||||
IP 2001:db8::6:6
|
||||
HOST santa.claus.ipv6.example.com
|
||||
HOST_VALIDATED YES
|
||||
SUM_CONNECT_ERRORS 2
|
||||
COUNT_HOST_BLOCKED_ERRORS 0
|
||||
COUNT_NAMEINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_NAMEINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FORMAT_ERRORS 0
|
||||
COUNT_ADDRINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_ADDRINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FCRDNS_ERRORS 0
|
||||
COUNT_HOST_ACL_ERRORS 0
|
||||
COUNT_NO_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_HANDSHAKE_ERRORS 2
|
||||
COUNT_PROXY_USER_ERRORS 0
|
||||
COUNT_PROXY_USER_ACL_ERRORS 0
|
||||
COUNT_AUTHENTICATION_ERRORS 0
|
||||
COUNT_SSL_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
|
||||
COUNT_DEFAULT_DATABASE_ERRORS 0
|
||||
COUNT_INIT_CONNECT_ERRORS 0
|
||||
COUNT_LOCAL_ERRORS 0
|
||||
COUNT_UNKNOWN_ERRORS 0
|
||||
FIRST_ERROR_SEEN set
|
||||
LAST_ERROR_SEEN set
|
||||
set global debug_dbug= "-d,native_password_bad_reply";
|
||||
message
|
||||
Valid connection should reset SUM_CONNECT_ERROR counter
|
||||
set global debug_dbug= "+d,native_password_bad_reply";
|
||||
"Dumping performance_schema.host_cache"
|
||||
IP 2001:db8::6:6
|
||||
HOST santa.claus.ipv6.example.com
|
||||
HOST_VALIDATED YES
|
||||
SUM_CONNECT_ERRORS 0
|
||||
COUNT_HOST_BLOCKED_ERRORS 0
|
||||
COUNT_NAMEINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_NAMEINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FORMAT_ERRORS 0
|
||||
COUNT_ADDRINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_ADDRINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FCRDNS_ERRORS 0
|
||||
COUNT_HOST_ACL_ERRORS 0
|
||||
COUNT_NO_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_HANDSHAKE_ERRORS 2
|
||||
COUNT_PROXY_USER_ERRORS 0
|
||||
COUNT_PROXY_USER_ACL_ERRORS 0
|
||||
COUNT_AUTHENTICATION_ERRORS 0
|
||||
COUNT_SSL_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
|
||||
COUNT_DEFAULT_DATABASE_ERRORS 0
|
||||
COUNT_INIT_CONNECT_ERRORS 0
|
||||
COUNT_LOCAL_ERRORS 0
|
||||
COUNT_UNKNOWN_ERRORS 0
|
||||
FIRST_ERROR_SEEN set
|
||||
LAST_ERROR_SEEN set
|
||||
ERROR 08S01: Bad handshake
|
||||
"Dumping performance_schema.host_cache"
|
||||
IP 2001:db8::6:6
|
||||
HOST santa.claus.ipv6.example.com
|
||||
HOST_VALIDATED YES
|
||||
SUM_CONNECT_ERRORS 1
|
||||
COUNT_HOST_BLOCKED_ERRORS 0
|
||||
COUNT_NAMEINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_NAMEINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FORMAT_ERRORS 0
|
||||
COUNT_ADDRINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_ADDRINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FCRDNS_ERRORS 0
|
||||
COUNT_HOST_ACL_ERRORS 0
|
||||
COUNT_NO_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_HANDSHAKE_ERRORS 3
|
||||
COUNT_PROXY_USER_ERRORS 0
|
||||
COUNT_PROXY_USER_ACL_ERRORS 0
|
||||
COUNT_AUTHENTICATION_ERRORS 0
|
||||
COUNT_SSL_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
|
||||
COUNT_DEFAULT_DATABASE_ERRORS 0
|
||||
COUNT_INIT_CONNECT_ERRORS 0
|
||||
COUNT_LOCAL_ERRORS 0
|
||||
COUNT_UNKNOWN_ERRORS 0
|
||||
FIRST_ERROR_SEEN set
|
||||
LAST_ERROR_SEEN set
|
||||
ERROR 08S01: Bad handshake
|
||||
"Dumping performance_schema.host_cache"
|
||||
IP 2001:db8::6:6
|
||||
HOST santa.claus.ipv6.example.com
|
||||
HOST_VALIDATED YES
|
||||
SUM_CONNECT_ERRORS 2
|
||||
COUNT_HOST_BLOCKED_ERRORS 0
|
||||
COUNT_NAMEINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_NAMEINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FORMAT_ERRORS 0
|
||||
COUNT_ADDRINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_ADDRINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FCRDNS_ERRORS 0
|
||||
COUNT_HOST_ACL_ERRORS 0
|
||||
COUNT_NO_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_HANDSHAKE_ERRORS 4
|
||||
COUNT_PROXY_USER_ERRORS 0
|
||||
COUNT_PROXY_USER_ACL_ERRORS 0
|
||||
COUNT_AUTHENTICATION_ERRORS 0
|
||||
COUNT_SSL_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
|
||||
COUNT_DEFAULT_DATABASE_ERRORS 0
|
||||
COUNT_INIT_CONNECT_ERRORS 0
|
||||
COUNT_LOCAL_ERRORS 0
|
||||
COUNT_UNKNOWN_ERRORS 0
|
||||
FIRST_ERROR_SEEN set
|
||||
LAST_ERROR_SEEN set
|
||||
ERROR 08S01: Bad handshake
|
||||
"Dumping performance_schema.host_cache"
|
||||
IP 2001:db8::6:6
|
||||
HOST santa.claus.ipv6.example.com
|
||||
HOST_VALIDATED YES
|
||||
SUM_CONNECT_ERRORS 3
|
||||
COUNT_HOST_BLOCKED_ERRORS 0
|
||||
COUNT_NAMEINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_NAMEINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FORMAT_ERRORS 0
|
||||
COUNT_ADDRINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_ADDRINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FCRDNS_ERRORS 0
|
||||
COUNT_HOST_ACL_ERRORS 0
|
||||
COUNT_NO_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_HANDSHAKE_ERRORS 5
|
||||
COUNT_PROXY_USER_ERRORS 0
|
||||
COUNT_PROXY_USER_ACL_ERRORS 0
|
||||
COUNT_AUTHENTICATION_ERRORS 0
|
||||
COUNT_SSL_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
|
||||
COUNT_DEFAULT_DATABASE_ERRORS 0
|
||||
COUNT_INIT_CONNECT_ERRORS 0
|
||||
COUNT_LOCAL_ERRORS 0
|
||||
COUNT_UNKNOWN_ERRORS 0
|
||||
FIRST_ERROR_SEEN set
|
||||
LAST_ERROR_SEEN set
|
||||
ERROR HY000: Host '2001:db8::6:6' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
|
||||
"Dumping performance_schema.host_cache"
|
||||
IP 2001:db8::6:6
|
||||
HOST santa.claus.ipv6.example.com
|
||||
HOST_VALIDATED YES
|
||||
SUM_CONNECT_ERRORS 3
|
||||
COUNT_HOST_BLOCKED_ERRORS 1
|
||||
COUNT_NAMEINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_NAMEINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FORMAT_ERRORS 0
|
||||
COUNT_ADDRINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_ADDRINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FCRDNS_ERRORS 0
|
||||
COUNT_HOST_ACL_ERRORS 0
|
||||
COUNT_NO_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_HANDSHAKE_ERRORS 5
|
||||
COUNT_PROXY_USER_ERRORS 0
|
||||
COUNT_PROXY_USER_ACL_ERRORS 0
|
||||
COUNT_AUTHENTICATION_ERRORS 0
|
||||
COUNT_SSL_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
|
||||
COUNT_DEFAULT_DATABASE_ERRORS 0
|
||||
COUNT_INIT_CONNECT_ERRORS 0
|
||||
COUNT_LOCAL_ERRORS 0
|
||||
COUNT_UNKNOWN_ERRORS 0
|
||||
FIRST_ERROR_SEEN set
|
||||
LAST_ERROR_SEEN set
|
||||
ERROR HY000: Host '2001:db8::6:6' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
|
||||
"Dumping performance_schema.host_cache"
|
||||
IP 2001:db8::6:6
|
||||
HOST santa.claus.ipv6.example.com
|
||||
HOST_VALIDATED YES
|
||||
SUM_CONNECT_ERRORS 3
|
||||
COUNT_HOST_BLOCKED_ERRORS 2
|
||||
COUNT_NAMEINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_NAMEINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FORMAT_ERRORS 0
|
||||
COUNT_ADDRINFO_TRANSIENT_ERRORS 0
|
||||
COUNT_ADDRINFO_PERMANENT_ERRORS 0
|
||||
COUNT_FCRDNS_ERRORS 0
|
||||
COUNT_HOST_ACL_ERRORS 0
|
||||
COUNT_NO_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_AUTH_PLUGIN_ERRORS 0
|
||||
COUNT_HANDSHAKE_ERRORS 5
|
||||
COUNT_PROXY_USER_ERRORS 0
|
||||
COUNT_PROXY_USER_ACL_ERRORS 0
|
||||
COUNT_AUTHENTICATION_ERRORS 0
|
||||
COUNT_SSL_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_ERRORS 0
|
||||
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
|
||||
COUNT_DEFAULT_DATABASE_ERRORS 0
|
||||
COUNT_INIT_CONNECT_ERRORS 0
|
||||
COUNT_LOCAL_ERRORS 0
|
||||
COUNT_UNKNOWN_ERRORS 0
|
||||
FIRST_ERROR_SEEN set
|
||||
LAST_ERROR_SEEN set
|
||||
revoke select on test.* from 'root'@'santa.claus.ipv6.example.com';
|
||||
drop user 'root'@'santa.claus.ipv6.example.com';
|
||||
revoke select on test.* from 'quota'@'santa.claus.ipv6.example.com';
|
||||
drop user 'quota'@'santa.claus.ipv6.example.com';
|
||||
set global max_connect_errors = @saved_max_connect_errors;
|
||||
set global debug_dbug= default;
|
||||
|
@ -106,9 +106,6 @@ wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
|
||||
wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
|
||||
wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
|
||||
wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
|
||||
wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
|
||||
wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
|
||||
wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
|
||||
wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
|
||||
wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
|
||||
wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user