mirror of
https://github.com/MariaDB/server.git
synced 2025-09-02 09:41:40 +03:00
new merge from 5.5
This commit is contained in:
@@ -1,2 +1,2 @@
|
||||
perl mysql-test-run.pl --timer --force --comment=1st --experimental=collections/default.experimental 1st
|
||||
perl mysql-test-run.pl --timer --force --comment=big-tests --experimental=collections/default.experimental --vardir=var-big-tests --big-test --testcase-timeout=60 --suite-timeout=600 large_tests.alter_table main.alter_table-big main.archive-big main.count_distinct3 main.create-big main.events_stress main.events_time_zone main.information_schema-big main.log_tables-big main.merge-big main.mysqlbinlog_row_big main.read_many_rows_innodb main.ssl-big main.sum_distinct-big main.type_newdecimal-big main.variables-big parts.part_supported_sql_func_innodb parts.partition_alter1_1_2_innodb parts.partition_alter1_1_2_ndb parts.partition_alter1_1_ndb parts.partition_alter1_2_innodb parts.partition_alter1_2_ndb parts.partition_alter2_1_1_innodb parts.partition_alter2_1_2_innodb parts.partition_alter2_2_2_innodb parts.partition_alter4_innodb rpl_ndb.rpl_truncate_7ndb_2
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --comment=1st --experimental=collections/default.experimental 1st
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --comment=big-tests --experimental=collections/default.experimental --vardir=var-big-tests --big-test --testcase-timeout=60 --suite-timeout=600 main.alter_table-big main.archive-big main.count_distinct3 main.create-big main.events_stress main.events_time_zone main.information_schema-big main.log_tables-big main.merge-big main.mysqlbinlog_row_big main.read_many_rows_innodb main.ssl-big main.sum_distinct-big main.type_newdecimal-big main.variables-big parts.part_supported_sql_func_innodb parts.partition_alter1_1_2_innodb parts.partition_alter1_1_2_ndb parts.partition_alter1_1_ndb parts.partition_alter1_2_innodb parts.partition_alter1_2_ndb parts.partition_alter2_1_1_innodb parts.partition_alter2_1_2_innodb parts.partition_alter2_2_2_innodb parts.partition_alter4_innodb rpl_ndb.rpl_truncate_7ndb_2
|
||||
|
@@ -1,10 +1,10 @@
|
||||
perl mysql-test-run.pl --force --timer --comment=normal --skip-ndbcluster --report-features --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --comment=ps --skip-ndbcluster --ps-protocol --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --comment=funcs1+ps --suite=funcs_1 --ps-protocol --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --comment=funcs2 --suite=funcs_2 --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --comment=partitions --suite=parts --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --comment=stress --suite=stress --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --comment=jp --suite=jp --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --comment=embedded --embedded-server --skip-rpl --skip-ndbcluster --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --comment=nist --suite=nist --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --comment=nist+ps --suite=nist --ps-protocol --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=normal --skip-ndbcluster --report-features --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=ps --skip-ndbcluster --ps-protocol --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=funcs1+ps --suite=funcs_1 --ps-protocol --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=funcs2 --suite=funcs_2 --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=partitions --suite=parts --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=stress --suite=stress --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=jp --suite=jp --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=embedded --embedded-server --skip-rpl --skip-ndbcluster --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=nist --suite=nist --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=nist+ps --suite=nist --ps-protocol --experimental=collections/default.experimental
|
||||
|
@@ -1 +1 @@
|
||||
perl mysql-test-run.pl --force --timer --comment=debug --skip-ndbcluster --skip-rpl --report-features --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=debug --skip-ndbcluster --skip-rpl --report-features --experimental=collections/default.experimental
|
||||
|
@@ -1,2 +1,2 @@
|
||||
perl mysql-test-run.pl --force --timer --comment=ps --skip-ndbcluster --ps-protocol --report-features --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --comment=stress --suite=stress --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=ps --skip-ndbcluster --ps-protocol --report-features --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=stress --suite=stress --experimental=collections/default.experimental
|
||||
|
@@ -304,5 +304,58 @@ BINLOG '
|
||||
SHOW BINLOG EVENTS;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo
|
||||
--echo # BUG#54903 BINLOG statement toggles session variables
|
||||
--echo # ----------------------------------------------------------------------
|
||||
--echo # This test verify that BINLOG statement doesn't change current session's
|
||||
--echo # variables foreign_key_checks and unique_checks.
|
||||
--echo
|
||||
CREATE TABLE t1 (c1 INT KEY);
|
||||
|
||||
SET @@SESSION.foreign_key_checks= ON;
|
||||
SET @@SESSION.unique_checks= ON;
|
||||
|
||||
--echo # INSERT INTO t1 VALUES (1)
|
||||
--echo # foreign_key_checks=0 and unique_checks=0
|
||||
BINLOG '
|
||||
dfLtTBMBAAAAKQAAANcAAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
|
||||
dfLtTBcBAAAAIgAAAPkAAAAAABcAAAAAAAcAAf/+AQAAAA==
|
||||
';
|
||||
|
||||
SELECT * FROM t1;
|
||||
--echo # Their values should be ON
|
||||
SHOW SESSION VARIABLES LIKE "%_checks";
|
||||
|
||||
--echo
|
||||
SET @@SESSION.foreign_key_checks= OFF;
|
||||
SET @@SESSION.unique_checks= OFF;
|
||||
|
||||
--echo # INSERT INTO t1 VALUES(2)
|
||||
--echo # foreign_key_checks=1 and unique_checks=1
|
||||
BINLOG '
|
||||
dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
|
||||
dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
|
||||
';
|
||||
|
||||
SELECT * FROM t1;
|
||||
--echo # Their values should be OFF
|
||||
SHOW SESSION VARIABLES LIKE "%_checks";
|
||||
|
||||
--echo # INSERT INTO t1 VALUES(2)
|
||||
--echo # foreign_key_checks=1 and unique_checks=1
|
||||
--echo # It should not change current session's variables, even error happens
|
||||
--error 1062
|
||||
BINLOG '
|
||||
dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
|
||||
dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
|
||||
';
|
||||
|
||||
SELECT * FROM t1;
|
||||
--echo # Their values should be OFF
|
||||
SHOW SESSION VARIABLES LIKE "%_checks";
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
disconnect fresh;
|
||||
|
||||
|
251
mysql-test/extra/binlog_tests/binlog_cache_stat.test
Normal file
251
mysql-test/extra/binlog_tests/binlog_cache_stat.test
Normal file
@@ -0,0 +1,251 @@
|
||||
# Embedded server doesn't support binlog
|
||||
-- source include/not_embedded.inc
|
||||
-- source include/have_innodb.inc
|
||||
|
||||
# Creating tables
|
||||
--disable_warnings
|
||||
drop table if exists t1, t2;
|
||||
--enable_warnings
|
||||
|
||||
create table t1 (a int) engine=innodb;
|
||||
create table t2 (a int) engine=myisam;
|
||||
|
||||
#
|
||||
# This test checks binlog_cache_use and binlog_cache_disk_use when
|
||||
# transactions are committed and after when they are aborted.
|
||||
#
|
||||
|
||||
#
|
||||
# Checking commit.
|
||||
#
|
||||
--echo **** Preparing the enviroment to check commit and its effect on status variables.
|
||||
--echo **** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
||||
--echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
flush status;
|
||||
let $exp_cache= 0;
|
||||
let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
|
||||
let $exp_disk= 0;
|
||||
let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
|
||||
let $exp_stmt_cache= 0;
|
||||
let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
|
||||
let $exp_stmt_disk= 0;
|
||||
let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
|
||||
if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
|
||||
{
|
||||
-- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
|
||||
-- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
|
||||
-- die
|
||||
}
|
||||
|
||||
--echo **** Transactional changes which are long enough so they will be flushed to disk...
|
||||
--echo **** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
||||
--echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
let $1=2000;
|
||||
disable_query_log;
|
||||
begin;
|
||||
while ($1)
|
||||
{
|
||||
eval insert into t1 values( $1 );
|
||||
dec $1;
|
||||
}
|
||||
commit;
|
||||
enable_query_log;
|
||||
let $exp_cache= 1;
|
||||
let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
|
||||
let $exp_disk= 1;
|
||||
let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
|
||||
let $exp_stmt_cache= 0;
|
||||
let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
|
||||
let $exp_stmt_disk= 0;
|
||||
let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
|
||||
if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
|
||||
{
|
||||
-- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
|
||||
-- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
|
||||
-- die
|
||||
}
|
||||
|
||||
--echo **** Transactional changes which should not be flushed to disk and so should not
|
||||
--echo **** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
--echo **** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
|
||||
--echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t1 values( 1 );
|
||||
commit;
|
||||
let $exp_cache= 2;
|
||||
let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
|
||||
let $exp_disk= 1;
|
||||
let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
|
||||
let $exp_stmt_cache= 0;
|
||||
let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
|
||||
let $exp_stmt_disk= 0;
|
||||
let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
|
||||
if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
|
||||
{
|
||||
-- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
|
||||
-- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
|
||||
-- die
|
||||
}
|
||||
|
||||
--echo **** Non-Transactional changes which should not be flushed to disk and so should not
|
||||
--echo **** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
--echo **** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
|
||||
--echo **** Expected: binlog_stmt_cache_use = 1, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t2 values( 1 );
|
||||
commit;
|
||||
let $exp_cache= 2;
|
||||
let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
|
||||
let $exp_disk= 1;
|
||||
let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
|
||||
let $exp_stmt_cache= 1;
|
||||
let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
|
||||
let $exp_stmt_disk= 0;
|
||||
let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
|
||||
if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
|
||||
{
|
||||
-- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
|
||||
-- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
|
||||
-- die
|
||||
}
|
||||
|
||||
--echo **** Mixed changes which should not be flushed to disk and so should not
|
||||
--echo **** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
--echo **** Expected: binlog_cache_use = 3, binlog_cache_disk_use = 1.
|
||||
--echo **** Expected: binlog_stmt_cache_use = 2, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t1 values( 1 );
|
||||
insert into t2 values( 1 );
|
||||
commit;
|
||||
let $exp_cache= 3;
|
||||
let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
|
||||
let $exp_disk= 1;
|
||||
let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
|
||||
let $exp_stmt_cache= 2;
|
||||
let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
|
||||
let $exp_stmt_disk= 0;
|
||||
let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
|
||||
if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
|
||||
{
|
||||
-- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
|
||||
-- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
|
||||
-- die
|
||||
}
|
||||
|
||||
#
|
||||
# Checking abort.
|
||||
#
|
||||
--echo **** Preparing the enviroment to check abort and its effect on the status variables.
|
||||
--echo **** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
||||
--echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
flush status;
|
||||
let $exp_cache= 0;
|
||||
let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
|
||||
let $exp_disk= 0;
|
||||
let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
|
||||
let $exp_stmt_cache= 0;
|
||||
let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
|
||||
let $exp_stmt_disk= 0;
|
||||
let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
|
||||
if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
|
||||
{
|
||||
-- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
|
||||
-- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
|
||||
-- die
|
||||
}
|
||||
|
||||
--echo **** Transactional changes which are long enough so they will be flushed to disk...
|
||||
--echo **** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
||||
--echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
let $1=2000;
|
||||
disable_query_log;
|
||||
begin;
|
||||
while ($1)
|
||||
{
|
||||
eval insert into t1 values( $1 );
|
||||
dec $1;
|
||||
}
|
||||
rollback;
|
||||
enable_query_log;
|
||||
let $exp_cache= 1;
|
||||
let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
|
||||
let $exp_disk= 1;
|
||||
let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
|
||||
let $exp_stmt_cache= 0;
|
||||
let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
|
||||
let $exp_stmt_disk= 0;
|
||||
let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
|
||||
if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
|
||||
{
|
||||
-- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
|
||||
-- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
|
||||
-- die
|
||||
}
|
||||
|
||||
--echo **** Transactional changes which should not be flushed to disk and so should not
|
||||
--echo **** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
--echo **** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
|
||||
--echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t1 values( 1 );
|
||||
rollback;
|
||||
let $exp_cache= 2;
|
||||
let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
|
||||
let $exp_disk= 1;
|
||||
let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
|
||||
let $exp_stmt_cache= 0;
|
||||
let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
|
||||
let $exp_stmt_disk= 0;
|
||||
let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
|
||||
if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
|
||||
{
|
||||
-- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
|
||||
-- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
|
||||
-- die
|
||||
}
|
||||
|
||||
--echo **** Non-Transactional changes which should not be flushed to disk and so should not
|
||||
--echo **** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
--echo **** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
|
||||
--echo **** Expected: binlog_stmt_cache_use = 1, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t2 values( 1 );
|
||||
rollback;
|
||||
let $exp_cache= 2;
|
||||
let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
|
||||
let $exp_disk= 1;
|
||||
let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
|
||||
let $exp_stmt_cache= 1;
|
||||
let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
|
||||
let $exp_stmt_disk= 0;
|
||||
let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
|
||||
if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
|
||||
{
|
||||
-- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
|
||||
-- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
|
||||
-- die
|
||||
}
|
||||
|
||||
--echo **** Mixed changes which should not be flushed to disk and so should not
|
||||
--echo **** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
--echo **** Expected: binlog_cache_use = 3, binlog_cache_disk_use = 1.
|
||||
--echo **** Expected: binlog_stmt_cache_use = 2, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t1 values( 1 );
|
||||
insert into t2 values( 1 );
|
||||
rollback;
|
||||
let $exp_cache= 3;
|
||||
let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
|
||||
let $exp_disk= 1;
|
||||
let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
|
||||
let $exp_stmt_cache= 2;
|
||||
let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
|
||||
let $exp_stmt_disk= 0;
|
||||
let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
|
||||
if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
|
||||
{
|
||||
-- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
|
||||
-- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
|
||||
-- die
|
||||
}
|
||||
drop table t1, t2;
|
@@ -34,11 +34,11 @@ create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
|
||||
let $table=t1;
|
||||
let $count=0;
|
||||
|
||||
insert delayed into t1 values (207);
|
||||
insert /* before delayed */ delayed /* after delayed */ into t1 values (207);
|
||||
inc $count;
|
||||
--source include/wait_until_rows_count.inc
|
||||
|
||||
insert delayed into t1 values (null);
|
||||
insert /*! delayed */ into t1 values (null);
|
||||
inc $count;
|
||||
--source include/wait_until_rows_count.inc
|
||||
|
||||
|
@@ -1,41 +0,0 @@
|
||||
# Embedded server doesn't support binlog
|
||||
-- source include/not_embedded.inc
|
||||
-- source include/have_innodb.inc
|
||||
|
||||
#
|
||||
# Let us test binlog_cache_use and binlog_cache_disk_use status vars.
|
||||
# Actually this test has nothing to do with innodb per se, it just requires
|
||||
# transactional table.
|
||||
#
|
||||
flush status;
|
||||
show status like "binlog_cache_use";
|
||||
show status like "binlog_cache_disk_use";
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
|
||||
create table t1 (a int) engine=innodb;
|
||||
|
||||
# Now we are going to create transaction which is long enough so its
|
||||
# transaction binlog will be flushed to disk...
|
||||
let $1=2000;
|
||||
disable_query_log;
|
||||
begin;
|
||||
while ($1)
|
||||
{
|
||||
eval insert into t1 values( $1 );
|
||||
dec $1;
|
||||
}
|
||||
commit;
|
||||
enable_query_log;
|
||||
show status like "binlog_cache_use";
|
||||
show status like "binlog_cache_disk_use";
|
||||
|
||||
# Transaction which should not be flushed to disk and so should not
|
||||
# increase binlog_cache_disk_use.
|
||||
begin;
|
||||
delete from t1;
|
||||
commit;
|
||||
show status like "binlog_cache_use";
|
||||
show status like "binlog_cache_disk_use";
|
||||
drop table t1;
|
@@ -25,11 +25,13 @@ call mtr.add_suppression("Unsafe statement written to the binary log using state
|
||||
|
||||
let $old_max_binlog_cache_size= query_get_value(SHOW VARIABLES LIKE "max_binlog_cache_size", Value, 1);
|
||||
let $old_binlog_cache_size= query_get_value(SHOW VARIABLES LIKE "binlog_cache_size", Value, 1);
|
||||
let $old_max_binlog_stmt_cache_size= query_get_value(SHOW VARIABLES LIKE "max_binlog_stmt_cache_size", Value, 1);
|
||||
let $old_binlog_stmt_cache_size= query_get_value(SHOW VARIABLES LIKE "binlog_stmt_cache_size", Value, 1);
|
||||
|
||||
SET GLOBAL max_binlog_cache_size = 4096;
|
||||
# Becuase of bug#55377, we have to set binlog_cache_size until the bug is
|
||||
# fixed.
|
||||
SET GLOBAL binlog_cache_size = 4096;
|
||||
SET GLOBAL max_binlog_stmt_cache_size = 4096;
|
||||
SET GLOBAL binlog_stmt_cache_size = 4096;
|
||||
disconnect master;
|
||||
connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||
|
||||
@@ -47,14 +49,14 @@ connection master;
|
||||
|
||||
--echo *** Single statement on transactional table ***
|
||||
--disable_query_log
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
eval INSERT INTO t1 (a, data) VALUES (1,
|
||||
CONCAT($data, $data, $data, $data, $data));
|
||||
--enable_query_log
|
||||
|
||||
--echo *** Single statement on non-transactional table ***
|
||||
--disable_query_log
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
eval INSERT INTO t2 (a, data) VALUES (2,
|
||||
CONCAT($data, $data, $data, $data, $data, $data));
|
||||
--enable_query_log
|
||||
@@ -74,7 +76,7 @@ eval INSERT INTO t2 (a, data) VALUES (5, $data);
|
||||
|
||||
--echo *** Single statement on both transactional and non-transactional tables. ***
|
||||
--disable_query_log
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
eval UPDATE t2, t1 SET t2.data = CONCAT($data, $data, $data, $data),
|
||||
t1.data = CONCAT($data, $data, $data, $data);
|
||||
--enable_query_log
|
||||
@@ -103,11 +105,11 @@ BEGIN;
|
||||
--eval INSERT INTO t1 (a, data) VALUES (1, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (2, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (3, $data);
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (4, $data);
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (5, $data);
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (6, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (7, 's');
|
||||
--eval INSERT INTO t2 (a, data) VALUES (8, 's');
|
||||
@@ -130,9 +132,9 @@ BEGIN;
|
||||
--eval INSERT INTO t1 (a, data) VALUES (14, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (15, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (16, $data);
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (17, $data);
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (18, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (19, 's');
|
||||
--eval INSERT INTO t2 (a, data) VALUES (20, 's');
|
||||
@@ -148,7 +150,7 @@ if (`SELECT @@binlog_format = 'STATEMENT' || @@binlog_format = 'MIXED'`)
|
||||
if (`SELECT @@binlog_format = 'ROW'`)
|
||||
{
|
||||
--disable_query_log
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
CREATE TABLE t4 SELECT * FROM t1;
|
||||
--enable_query_log
|
||||
}
|
||||
@@ -162,9 +164,9 @@ BEGIN;
|
||||
--eval INSERT INTO t1 (a, data) VALUES (22, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (23, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (24, $data);
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (25, $data);
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (26, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (27, 's');
|
||||
--eval INSERT INTO t2 (a, data) VALUES (28, 's');
|
||||
@@ -192,11 +194,11 @@ BEGIN;
|
||||
--eval INSERT INTO t1 (a, data) VALUES (1, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (2, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (3, $data);
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (4, $data);
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (5, $data);
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (6, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (7, 's');
|
||||
--eval INSERT INTO t2 (a, data) VALUES (8, 's');
|
||||
@@ -221,11 +223,11 @@ BEGIN;
|
||||
--eval INSERT INTO t1 (a, data) VALUES (1, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (2, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (3, $data);
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (4, $data);
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (5, $data);
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (6, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (7, 's');
|
||||
--eval INSERT INTO t2 (a, data) VALUES (8, 's');
|
||||
@@ -268,7 +270,7 @@ TRUNCATE TABLE t1;
|
||||
|
||||
BEGIN;
|
||||
--disable_query_log
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
eval CALL p1($data);
|
||||
--enable_query_log
|
||||
COMMIT;
|
||||
@@ -277,7 +279,7 @@ TRUNCATE TABLE t1;
|
||||
|
||||
BEGIN;
|
||||
--disable_query_log
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
eval CALL p1($data);
|
||||
--enable_query_log
|
||||
ROLLBACK;
|
||||
@@ -299,12 +301,12 @@ BEGIN;
|
||||
--eval INSERT INTO t1 (a, data) VALUES (1, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (2, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (3, $data);
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (4, $data);
|
||||
SAVEPOINT sv;
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (5, $data);
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (6, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (7, 's');
|
||||
--eval INSERT INTO t2 (a, data) VALUES (8, 's');
|
||||
@@ -331,11 +333,11 @@ BEGIN;
|
||||
--eval INSERT INTO t1 (a, data) VALUES (2, $data);
|
||||
--eval INSERT INTO t2 (a, data) VALUES (3, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (4, $data);
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (5, $data);
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (6, $data);
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (7, $data);
|
||||
--eval UPDATE t2 SET data= CONCAT($data, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (8, 's');
|
||||
@@ -351,7 +353,7 @@ BEGIN;
|
||||
--eval INSERT INTO t1 (a, data) VALUES (16, $data);
|
||||
--eval INSERT INTO t2 (a, data) VALUES (17, $data);
|
||||
--eval INSERT INTO t1 (a, data) VALUES (18, $data);
|
||||
--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
|
||||
--eval INSERT INTO t1 (a, data) VALUES (19, $data);
|
||||
--enable_query_log
|
||||
COMMIT;
|
||||
@@ -367,10 +369,13 @@ let $diff_statement= SELECT * FROM t1;
|
||||
--echo # [ On Slave ]
|
||||
SET GLOBAL max_binlog_cache_size = 4096;
|
||||
SET GLOBAL binlog_cache_size = 4096;
|
||||
SET GLOBAL max_binlog_stmt_cache_size = 4096;
|
||||
SET GLOBAL binlog_stmt_cache_size = 4096;
|
||||
|
||||
source include/stop_slave.inc;
|
||||
source include/start_slave.inc;
|
||||
CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage.*");
|
||||
CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_stmt_cache_size' bytes of storage.*");
|
||||
CALL mtr.add_suppression("Writing one row to the row-based binary log failed.*");
|
||||
|
||||
connection master;
|
||||
@@ -385,6 +390,10 @@ connection master;
|
||||
--eval SET GLOBAL max_binlog_cache_size= $old_max_binlog_cache_size
|
||||
--replace_result $old_binlog_cache_size ORIGINAL_VALUE
|
||||
--eval SET GLOBAL binlog_cache_size= $old_binlog_cache_size
|
||||
--replace_result $old_max_binlog_stmt_cache_size ORIGINAL_VALUE
|
||||
--eval SET GLOBAL max_binlog_stmt_cache_size= $old_max_binlog_stmt_cache_size
|
||||
--replace_result $old_binlog_stmt_cache_size ORIGINAL_VALUE
|
||||
--eval SET GLOBAL binlog_stmt_cache_size= $old_binlog_stmt_cache_size
|
||||
disconnect master;
|
||||
connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||
|
||||
@@ -415,6 +424,10 @@ source include/show_binlog_events.inc;
|
||||
--eval SET GLOBAL max_binlog_cache_size= $old_max_binlog_cache_size
|
||||
--replace_result $old_binlog_cache_size ORIGINAL_VALUE
|
||||
--eval SET GLOBAL binlog_cache_size= $old_binlog_cache_size
|
||||
--replace_result $old_max_binlog_stmt_cache_size ORIGINAL_VALUE
|
||||
--eval SET GLOBAL max_binlog_stmt_cache_size= $old_max_binlog_stmt_cache_size
|
||||
--replace_result $old_binlog_stmt_cache_size ORIGINAL_VALUE
|
||||
--eval SET GLOBAL binlog_stmt_cache_size= $old_binlog_stmt_cache_size
|
||||
|
||||
source include/stop_slave.inc;
|
||||
source include/start_slave.inc;
|
||||
|
46
mysql-test/include/ctype_8bit.inc
Normal file
46
mysql-test/include/ctype_8bit.inc
Normal file
@@ -0,0 +1,46 @@
|
||||
#
|
||||
# Test Unicode conversion, upper, lower
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
CREATE TABLE t1 AS SELECT ' ' AS a LIMIT 0;
|
||||
INSERT INTO t1 VALUES (0x00),(0x01),(0x02),(0x03),(0x04),(0x05),(0x06),(0x07);
|
||||
INSERT INTO t1 VALUES (0x08),(0x09),(0x0A),(0x0B),(0x0C),(0x0D),(0x0E),(0x0F);
|
||||
INSERT INTO t1 VALUES (0x10),(0x11),(0x12),(0x13),(0x14),(0x15),(0x16),(0x17);
|
||||
INSERT INTO t1 VALUES (0x18),(0x19),(0x1A),(0x1B),(0x1C),(0x1D),(0x1E),(0x1F);
|
||||
INSERT INTO t1 VALUES (0x20),(0x21),(0x22),(0x23),(0x24),(0x25),(0x26),(0x27);
|
||||
INSERT INTO t1 VALUES (0x28),(0x29),(0x2A),(0x2B),(0x2C),(0x2D),(0x2E),(0x2F);
|
||||
INSERT INTO t1 VALUES (0x30),(0x31),(0x32),(0x33),(0x34),(0x35),(0x36),(0x37);
|
||||
INSERT INTO t1 VALUES (0x38),(0x39),(0x3A),(0x3B),(0x3C),(0x3D),(0x3E),(0x3F);
|
||||
INSERT INTO t1 VALUES (0x40),(0x41),(0x42),(0x43),(0x44),(0x45),(0x46),(0x47);
|
||||
INSERT INTO t1 VALUES (0x48),(0x49),(0x4A),(0x4B),(0x4C),(0x4D),(0x4E),(0x4F);
|
||||
INSERT INTO t1 VALUES (0x50),(0x51),(0x52),(0x53),(0x54),(0x55),(0x56),(0x57);
|
||||
INSERT INTO t1 VALUES (0x58),(0x59),(0x5A),(0x5B),(0x5C),(0x5D),(0x5E),(0x5F);
|
||||
INSERT INTO t1 VALUES (0x60),(0x61),(0x62),(0x63),(0x64),(0x65),(0x66),(0x67);
|
||||
INSERT INTO t1 VALUES (0x68),(0x69),(0x6A),(0x6B),(0x6C),(0x6D),(0x6E),(0x6F);
|
||||
INSERT INTO t1 VALUES (0x70),(0x71),(0x72),(0x73),(0x74),(0x75),(0x76),(0x77);
|
||||
INSERT INTO t1 VALUES (0x78),(0x79),(0x7A),(0x7B),(0x7C),(0x7D),(0x7E),(0x7F);
|
||||
INSERT INTO t1 VALUES (0x80),(0x81),(0x82),(0x83),(0x84),(0x85),(0x86),(0x87);
|
||||
INSERT INTO t1 VALUES (0x88),(0x89),(0x8A),(0x8B),(0x8C),(0x8D),(0x8E),(0x8F);
|
||||
INSERT INTO t1 VALUES (0x90),(0x91),(0x92),(0x93),(0x94),(0x95),(0x96),(0x97);
|
||||
INSERT INTO t1 VALUES (0x98),(0x99),(0x9A),(0x9B),(0x9C),(0x9D),(0x9E),(0x9F);
|
||||
INSERT INTO t1 VALUES (0xA0),(0xA1),(0xA2),(0xA3),(0xA4),(0xA5),(0xA6),(0xA7);
|
||||
INSERT INTO t1 VALUES (0xA8),(0xA9),(0xAA),(0xAB),(0xAC),(0xAD),(0xAE),(0xAF);
|
||||
INSERT INTO t1 VALUES (0xB0),(0xB1),(0xB2),(0xB3),(0xB4),(0xB5),(0xB6),(0xB7);
|
||||
INSERT INTO t1 VALUES (0xB8),(0xB9),(0xBA),(0xBB),(0xBC),(0xBD),(0xBE),(0xBF);
|
||||
INSERT INTO t1 VALUES (0xC0),(0xC1),(0xC2),(0xC3),(0xC4),(0xC5),(0xC6),(0xC7);
|
||||
INSERT INTO t1 VALUES (0xC8),(0xC9),(0xCA),(0xCB),(0xCC),(0xCD),(0xCE),(0xCF);
|
||||
INSERT INTO t1 VALUES (0xD0),(0xD1),(0xD2),(0xD3),(0xD4),(0xD5),(0xD6),(0xD7);
|
||||
INSERT INTO t1 VALUES (0xD8),(0xD9),(0xDA),(0xDB),(0xDC),(0xDD),(0xDE),(0xDF);
|
||||
INSERT INTO t1 VALUES (0xE0),(0xE1),(0xE2),(0xE3),(0xE4),(0xE5),(0xE6),(0xE7);
|
||||
INSERT INTO t1 VALUES (0xE8),(0xE9),(0xEA),(0xEB),(0xEC),(0xED),(0xEE),(0xEF);
|
||||
INSERT INTO t1 VALUES (0xF0),(0xF1),(0xF2),(0xF3),(0xF4),(0xF5),(0xF6),(0xF7);
|
||||
INSERT INTO t1 VALUES (0xF8),(0xF9),(0xFA),(0xFB),(0xFC),(0xFD),(0xFE),(0xFF);
|
||||
SELECT
|
||||
HEX(a) AS chr,
|
||||
HEX(LOWER(a)) AS upper,
|
||||
HEX(LOWER(a)) AS lower,
|
||||
HEX(@utf8:=CONVERT(a USING utf8)) AS utf8,
|
||||
HEX(@roundtrip:=CAST(@utf8 AS CHAR)) AS roundtrip,
|
||||
if(a=BINARY @roundtrip,'','Round trip unsafe') AS issafe
|
||||
FROM t1 ORDER BY chr;
|
||||
DROP TABLE t1;
|
12
mysql-test/include/ctype_czech.inc
Normal file
12
mysql-test/include/ctype_czech.inc
Normal file
@@ -0,0 +1,12 @@
|
||||
SELECT @@collation_connection;
|
||||
--echo #
|
||||
--echo # Bug#57737 Character sets: search fails with like, contraction, index
|
||||
--echo #
|
||||
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
|
||||
INSERT INTO t1 VALUES ('c'),('ce'),('cé'),('ch');
|
||||
SELECT * FROM t1 WHERE s1 LIKE 'c%';
|
||||
ALTER TABLE t1 ADD KEY s1 (s1);
|
||||
SELECT * FROM t1 WHERE s1 LIKE 'c%';
|
||||
ALTER TABLE t1 DROP KEY s1, ADD KEY(s1(1));
|
||||
SELECT * FROM t1 WHERE s1 LIKE 'ch';
|
||||
DROP TABLE t1;
|
11
mysql-test/include/ctype_like_ignorable.inc
Normal file
11
mysql-test/include/ctype_like_ignorable.inc
Normal file
@@ -0,0 +1,11 @@
|
||||
SELECT @@collation_connection;
|
||||
--echo #
|
||||
--echo # Bug#57737 Character sets: search fails with like, contraction, index
|
||||
--echo # Part#2 - ignorable characters
|
||||
--echo #
|
||||
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
|
||||
INSERT INTO t1 VALUES ('a\0\0\0\0\0\t'),('a'),('b'),('c'),('d'),('e');
|
||||
SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
|
||||
ALTER TABLE t1 ADD KEY s1 (s1);
|
||||
SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
|
||||
DROP TABLE t1;
|
21
mysql-test/include/io_thd_fault_injection.inc
Normal file
21
mysql-test/include/io_thd_fault_injection.inc
Normal file
@@ -0,0 +1,21 @@
|
||||
#
|
||||
# Takes the flag as an argument:
|
||||
# -- let $io_thd_injection_fault_flag=+d,fault_injection_new_file_rotate_event
|
||||
# -- source include/io_thd_fault_injection.inc
|
||||
#
|
||||
|
||||
SET @old_debug=@@global.debug;
|
||||
-- disable_warnings
|
||||
-- source include/stop_slave.inc
|
||||
-- enable_warnings
|
||||
-- eval SET GLOBAL debug="+d,$io_thd_injection_fault_flag"
|
||||
|
||||
START SLAVE io_thread;
|
||||
-- source include/wait_for_slave_io_to_stop.inc
|
||||
-- source include/wait_for_slave_io_error.inc
|
||||
|
||||
-- eval SET GLOBAL debug="-d,$io_thd_injection_fault_flag"
|
||||
SET GLOBAL debug=@old_debug;
|
||||
|
||||
# restart because slave is in bad shape
|
||||
-- source include/restart_mysqld.inc
|
@@ -1,14 +1,16 @@
|
||||
|
||||
# Write file to make mysql-test-run.pl expect the "crash", but don't start
|
||||
# it until it's told to
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--let $_server_id= `SELECT @@server_id`
|
||||
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.expect
|
||||
--exec echo "wait" > $_expect_file_name
|
||||
|
||||
# Send shutdown to the connected server and give
|
||||
# it 10 seconds to die before zapping it
|
||||
shutdown_server 10;
|
||||
|
||||
# Write file to make mysql-test-run.pl start up the server again
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--exec echo "restart" > $_expect_file_name
|
||||
|
||||
# Turn on reconnect
|
||||
--enable_reconnect
|
||||
|
@@ -2,7 +2,7 @@
|
||||
# that varies depending on where the test is executed.
|
||||
|
||||
--let $_items=$status_items
|
||||
if (`SELECT "XX$status_items" = "XX"`)
|
||||
if (!$status_items)
|
||||
{
|
||||
--die 'Variable status_items is NULL'
|
||||
}
|
||||
|
@@ -12801,3 +12801,9 @@ t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT NULL
|
||||
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# BUG#58205 - Valgrind failure in fn_format when called from
|
||||
# archive_discover
|
||||
#
|
||||
CREATE TABLE `a/../`(a INT) ENGINE=ARCHIVE;
|
||||
DROP TABLE `a/../`;
|
||||
|
@@ -476,3 +476,24 @@ SELECT a FROM t2;
|
||||
a
|
||||
2
|
||||
DROP TABLE t1, t2;
|
||||
#
|
||||
# Bug#39828 autoinc wraps around when offset and increment > 1
|
||||
#
|
||||
CREATE TABLE t1 (c1 BIGINT UNSIGNED AUTO_INCREMENT, PRIMARY KEY(c1)) engine=MyISAM;
|
||||
INSERT INTO t1 VALUES(1);
|
||||
INSERT INTO t1 VALUES (18446744073709551601);
|
||||
SET @@SESSION.AUTO_INCREMENT_INCREMENT=10;
|
||||
SELECT @@SESSION.AUTO_INCREMENT_OFFSET;
|
||||
@@SESSION.AUTO_INCREMENT_OFFSET
|
||||
1
|
||||
INSERT INTO t1 VALUES (NULL), (NULL), (NULL);
|
||||
ERROR 22003: Out of range value for column 't1' at row 167
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1
|
||||
18446744073709551601
|
||||
18446744073709551611
|
||||
SET @@SESSION.AUTO_INCREMENT_INCREMENT=default;
|
||||
SET @@SESSION.AUTO_INCREMENT_OFFSET=default;
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
@@ -82,6 +82,314 @@ t1 CREATE TABLE `t1` (
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Start of 5.1 tests
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
cp1251_general_ci
|
||||
CREATE TABLE t1 AS SELECT ' ' AS a LIMIT 0;
|
||||
INSERT INTO t1 VALUES (0x00),(0x01),(0x02),(0x03),(0x04),(0x05),(0x06),(0x07);
|
||||
INSERT INTO t1 VALUES (0x08),(0x09),(0x0A),(0x0B),(0x0C),(0x0D),(0x0E),(0x0F);
|
||||
INSERT INTO t1 VALUES (0x10),(0x11),(0x12),(0x13),(0x14),(0x15),(0x16),(0x17);
|
||||
INSERT INTO t1 VALUES (0x18),(0x19),(0x1A),(0x1B),(0x1C),(0x1D),(0x1E),(0x1F);
|
||||
INSERT INTO t1 VALUES (0x20),(0x21),(0x22),(0x23),(0x24),(0x25),(0x26),(0x27);
|
||||
INSERT INTO t1 VALUES (0x28),(0x29),(0x2A),(0x2B),(0x2C),(0x2D),(0x2E),(0x2F);
|
||||
INSERT INTO t1 VALUES (0x30),(0x31),(0x32),(0x33),(0x34),(0x35),(0x36),(0x37);
|
||||
INSERT INTO t1 VALUES (0x38),(0x39),(0x3A),(0x3B),(0x3C),(0x3D),(0x3E),(0x3F);
|
||||
INSERT INTO t1 VALUES (0x40),(0x41),(0x42),(0x43),(0x44),(0x45),(0x46),(0x47);
|
||||
INSERT INTO t1 VALUES (0x48),(0x49),(0x4A),(0x4B),(0x4C),(0x4D),(0x4E),(0x4F);
|
||||
INSERT INTO t1 VALUES (0x50),(0x51),(0x52),(0x53),(0x54),(0x55),(0x56),(0x57);
|
||||
INSERT INTO t1 VALUES (0x58),(0x59),(0x5A),(0x5B),(0x5C),(0x5D),(0x5E),(0x5F);
|
||||
INSERT INTO t1 VALUES (0x60),(0x61),(0x62),(0x63),(0x64),(0x65),(0x66),(0x67);
|
||||
INSERT INTO t1 VALUES (0x68),(0x69),(0x6A),(0x6B),(0x6C),(0x6D),(0x6E),(0x6F);
|
||||
INSERT INTO t1 VALUES (0x70),(0x71),(0x72),(0x73),(0x74),(0x75),(0x76),(0x77);
|
||||
INSERT INTO t1 VALUES (0x78),(0x79),(0x7A),(0x7B),(0x7C),(0x7D),(0x7E),(0x7F);
|
||||
INSERT INTO t1 VALUES (0x80),(0x81),(0x82),(0x83),(0x84),(0x85),(0x86),(0x87);
|
||||
INSERT INTO t1 VALUES (0x88),(0x89),(0x8A),(0x8B),(0x8C),(0x8D),(0x8E),(0x8F);
|
||||
INSERT INTO t1 VALUES (0x90),(0x91),(0x92),(0x93),(0x94),(0x95),(0x96),(0x97);
|
||||
INSERT INTO t1 VALUES (0x98),(0x99),(0x9A),(0x9B),(0x9C),(0x9D),(0x9E),(0x9F);
|
||||
INSERT INTO t1 VALUES (0xA0),(0xA1),(0xA2),(0xA3),(0xA4),(0xA5),(0xA6),(0xA7);
|
||||
INSERT INTO t1 VALUES (0xA8),(0xA9),(0xAA),(0xAB),(0xAC),(0xAD),(0xAE),(0xAF);
|
||||
INSERT INTO t1 VALUES (0xB0),(0xB1),(0xB2),(0xB3),(0xB4),(0xB5),(0xB6),(0xB7);
|
||||
INSERT INTO t1 VALUES (0xB8),(0xB9),(0xBA),(0xBB),(0xBC),(0xBD),(0xBE),(0xBF);
|
||||
INSERT INTO t1 VALUES (0xC0),(0xC1),(0xC2),(0xC3),(0xC4),(0xC5),(0xC6),(0xC7);
|
||||
INSERT INTO t1 VALUES (0xC8),(0xC9),(0xCA),(0xCB),(0xCC),(0xCD),(0xCE),(0xCF);
|
||||
INSERT INTO t1 VALUES (0xD0),(0xD1),(0xD2),(0xD3),(0xD4),(0xD5),(0xD6),(0xD7);
|
||||
INSERT INTO t1 VALUES (0xD8),(0xD9),(0xDA),(0xDB),(0xDC),(0xDD),(0xDE),(0xDF);
|
||||
INSERT INTO t1 VALUES (0xE0),(0xE1),(0xE2),(0xE3),(0xE4),(0xE5),(0xE6),(0xE7);
|
||||
INSERT INTO t1 VALUES (0xE8),(0xE9),(0xEA),(0xEB),(0xEC),(0xED),(0xEE),(0xEF);
|
||||
INSERT INTO t1 VALUES (0xF0),(0xF1),(0xF2),(0xF3),(0xF4),(0xF5),(0xF6),(0xF7);
|
||||
INSERT INTO t1 VALUES (0xF8),(0xF9),(0xFA),(0xFB),(0xFC),(0xFD),(0xFE),(0xFF);
|
||||
SELECT
|
||||
HEX(a) AS chr,
|
||||
HEX(LOWER(a)) AS upper,
|
||||
HEX(LOWER(a)) AS lower,
|
||||
HEX(@utf8:=CONVERT(a USING utf8)) AS utf8,
|
||||
HEX(@roundtrip:=CAST(@utf8 AS CHAR)) AS roundtrip,
|
||||
if(a=BINARY @roundtrip,'','Round trip unsafe') AS issafe
|
||||
FROM t1 ORDER BY chr;
|
||||
chr upper lower utf8 roundtrip issafe
|
||||
00 00 00 00 00
|
||||
01 01 01 01 01
|
||||
02 02 02 02 02
|
||||
03 03 03 03 03
|
||||
04 04 04 04 04
|
||||
05 05 05 05 05
|
||||
06 06 06 06 06
|
||||
07 07 07 07 07
|
||||
08 08 08 08 08
|
||||
09 09 09 09 09
|
||||
0A 0A 0A 0A 0A
|
||||
0B 0B 0B 0B 0B
|
||||
0C 0C 0C 0C 0C
|
||||
0D 0D 0D 0D 0D
|
||||
0E 0E 0E 0E 0E
|
||||
0F 0F 0F 0F 0F
|
||||
10 10 10 10 10
|
||||
11 11 11 11 11
|
||||
12 12 12 12 12
|
||||
13 13 13 13 13
|
||||
14 14 14 14 14
|
||||
15 15 15 15 15
|
||||
16 16 16 16 16
|
||||
17 17 17 17 17
|
||||
18 18 18 18 18
|
||||
19 19 19 19 19
|
||||
1A 1A 1A 1A 1A
|
||||
1B 1B 1B 1B 1B
|
||||
1C 1C 1C 1C 1C
|
||||
1D 1D 1D 1D 1D
|
||||
1E 1E 1E 1E 1E
|
||||
1F 1F 1F 1F 1F
|
||||
20 20 20 20 20
|
||||
21 21 21 21 21
|
||||
22 22 22 22 22
|
||||
23 23 23 23 23
|
||||
24 24 24 24 24
|
||||
25 25 25 25 25
|
||||
26 26 26 26 26
|
||||
27 27 27 27 27
|
||||
28 28 28 28 28
|
||||
29 29 29 29 29
|
||||
2A 2A 2A 2A 2A
|
||||
2B 2B 2B 2B 2B
|
||||
2C 2C 2C 2C 2C
|
||||
2D 2D 2D 2D 2D
|
||||
2E 2E 2E 2E 2E
|
||||
2F 2F 2F 2F 2F
|
||||
30 30 30 30 30
|
||||
31 31 31 31 31
|
||||
32 32 32 32 32
|
||||
33 33 33 33 33
|
||||
34 34 34 34 34
|
||||
35 35 35 35 35
|
||||
36 36 36 36 36
|
||||
37 37 37 37 37
|
||||
38 38 38 38 38
|
||||
39 39 39 39 39
|
||||
3A 3A 3A 3A 3A
|
||||
3B 3B 3B 3B 3B
|
||||
3C 3C 3C 3C 3C
|
||||
3D 3D 3D 3D 3D
|
||||
3E 3E 3E 3E 3E
|
||||
3F 3F 3F 3F 3F
|
||||
40 40 40 40 40
|
||||
41 61 61 41 41
|
||||
42 62 62 42 42
|
||||
43 63 63 43 43
|
||||
44 64 64 44 44
|
||||
45 65 65 45 45
|
||||
46 66 66 46 46
|
||||
47 67 67 47 47
|
||||
48 68 68 48 48
|
||||
49 69 69 49 49
|
||||
4A 6A 6A 4A 4A
|
||||
4B 6B 6B 4B 4B
|
||||
4C 6C 6C 4C 4C
|
||||
4D 6D 6D 4D 4D
|
||||
4E 6E 6E 4E 4E
|
||||
4F 6F 6F 4F 4F
|
||||
50 70 70 50 50
|
||||
51 71 71 51 51
|
||||
52 72 72 52 52
|
||||
53 73 73 53 53
|
||||
54 74 74 54 54
|
||||
55 75 75 55 55
|
||||
56 76 76 56 56
|
||||
57 77 77 57 57
|
||||
58 78 78 58 58
|
||||
59 79 79 59 59
|
||||
5A 7A 7A 5A 5A
|
||||
5B 5B 5B 5B 5B
|
||||
5C 5C 5C 5C 5C
|
||||
5D 5D 5D 5D 5D
|
||||
5E 5E 5E 5E 5E
|
||||
5F 5F 5F 5F 5F
|
||||
60 60 60 60 60
|
||||
61 61 61 61 61
|
||||
62 62 62 62 62
|
||||
63 63 63 63 63
|
||||
64 64 64 64 64
|
||||
65 65 65 65 65
|
||||
66 66 66 66 66
|
||||
67 67 67 67 67
|
||||
68 68 68 68 68
|
||||
69 69 69 69 69
|
||||
6A 6A 6A 6A 6A
|
||||
6B 6B 6B 6B 6B
|
||||
6C 6C 6C 6C 6C
|
||||
6D 6D 6D 6D 6D
|
||||
6E 6E 6E 6E 6E
|
||||
6F 6F 6F 6F 6F
|
||||
70 70 70 70 70
|
||||
71 71 71 71 71
|
||||
72 72 72 72 72
|
||||
73 73 73 73 73
|
||||
74 74 74 74 74
|
||||
75 75 75 75 75
|
||||
76 76 76 76 76
|
||||
77 77 77 77 77
|
||||
78 78 78 78 78
|
||||
79 79 79 79 79
|
||||
7A 7A 7A 7A 7A
|
||||
7B 7B 7B 7B 7B
|
||||
7C 7C 7C 7C 7C
|
||||
7D 7D 7D 7D 7D
|
||||
7E 7E 7E 7E 7E
|
||||
7F 7F 7F 7F 7F
|
||||
80 90 90 D082 80
|
||||
81 83 83 D083 81
|
||||
82 82 82 E2809A 82
|
||||
83 83 83 D193 83
|
||||
84 84 84 E2809E 84
|
||||
85 85 85 E280A6 85
|
||||
86 86 86 E280A0 86
|
||||
87 87 87 E280A1 87
|
||||
88 88 88 E282AC 88
|
||||
89 89 89 E280B0 89
|
||||
8A 9A 9A D089 8A
|
||||
8B 8B 8B E280B9 8B
|
||||
8C 9C 9C D08A 8C
|
||||
8D 9D 9D D08C 8D
|
||||
8E 9E 9E D08B 8E
|
||||
8F 9F 9F D08F 8F
|
||||
90 90 90 D192 90
|
||||
91 91 91 E28098 91
|
||||
92 92 92 E28099 92
|
||||
93 93 93 E2809C 93
|
||||
94 94 94 E2809D 94
|
||||
95 95 95 E280A2 95
|
||||
96 96 96 E28093 96
|
||||
97 97 97 E28094 97
|
||||
98 98 98 3F 3F Round trip unsafe
|
||||
99 99 99 E284A2 99
|
||||
9A 9A 9A D199 9A
|
||||
9B 9B 9B E280BA 9B
|
||||
9C 9C 9C D19A 9C
|
||||
9D 9D 9D D19C 9D
|
||||
9E 9E 9E D19B 9E
|
||||
9F 9F 9F D19F 9F
|
||||
A0 A0 A0 C2A0 A0
|
||||
A1 A2 A2 D08E A1
|
||||
A2 A2 A2 D19E A2
|
||||
A3 BC BC D088 A3
|
||||
A4 A4 A4 C2A4 A4
|
||||
A5 B4 B4 D290 A5
|
||||
A6 A6 A6 C2A6 A6
|
||||
A7 A7 A7 C2A7 A7
|
||||
A8 B8 B8 D081 A8
|
||||
A9 A9 A9 C2A9 A9
|
||||
AA BA BA D084 AA
|
||||
AB AB AB C2AB AB
|
||||
AC AC AC C2AC AC
|
||||
AD AD AD C2AD AD
|
||||
AE AE AE C2AE AE
|
||||
AF BF BF D087 AF
|
||||
B0 B0 B0 C2B0 B0
|
||||
B1 B1 B1 C2B1 B1
|
||||
B2 B3 B3 D086 B2
|
||||
B3 B3 B3 D196 B3
|
||||
B4 B4 B4 D291 B4
|
||||
B5 B5 B5 C2B5 B5
|
||||
B6 B6 B6 C2B6 B6
|
||||
B7 B7 B7 C2B7 B7
|
||||
B8 B8 B8 D191 B8
|
||||
B9 B9 B9 E28496 B9
|
||||
BA BA BA D194 BA
|
||||
BB BB BB C2BB BB
|
||||
BC BC BC D198 BC
|
||||
BD BE BE D085 BD
|
||||
BE BE BE D195 BE
|
||||
BF BF BF D197 BF
|
||||
C0 E0 E0 D090 C0
|
||||
C1 E1 E1 D091 C1
|
||||
C2 E2 E2 D092 C2
|
||||
C3 E3 E3 D093 C3
|
||||
C4 E4 E4 D094 C4
|
||||
C5 E5 E5 D095 C5
|
||||
C6 E6 E6 D096 C6
|
||||
C7 E7 E7 D097 C7
|
||||
C8 E8 E8 D098 C8
|
||||
C9 E9 E9 D099 C9
|
||||
CA EA EA D09A CA
|
||||
CB EB EB D09B CB
|
||||
CC EC EC D09C CC
|
||||
CD ED ED D09D CD
|
||||
CE EE EE D09E CE
|
||||
CF EF EF D09F CF
|
||||
D0 F0 F0 D0A0 D0
|
||||
D1 F1 F1 D0A1 D1
|
||||
D2 F2 F2 D0A2 D2
|
||||
D3 F3 F3 D0A3 D3
|
||||
D4 F4 F4 D0A4 D4
|
||||
D5 F5 F5 D0A5 D5
|
||||
D6 F6 F6 D0A6 D6
|
||||
D7 F7 F7 D0A7 D7
|
||||
D8 F8 F8 D0A8 D8
|
||||
D9 F9 F9 D0A9 D9
|
||||
DA FA FA D0AA DA
|
||||
DB FB FB D0AB DB
|
||||
DC FC FC D0AC DC
|
||||
DD FD FD D0AD DD
|
||||
DE FE FE D0AE DE
|
||||
DF FF FF D0AF DF
|
||||
E0 E0 E0 D0B0 E0
|
||||
E1 E1 E1 D0B1 E1
|
||||
E2 E2 E2 D0B2 E2
|
||||
E3 E3 E3 D0B3 E3
|
||||
E4 E4 E4 D0B4 E4
|
||||
E5 E5 E5 D0B5 E5
|
||||
E6 E6 E6 D0B6 E6
|
||||
E7 E7 E7 D0B7 E7
|
||||
E8 E8 E8 D0B8 E8
|
||||
E9 E9 E9 D0B9 E9
|
||||
EA EA EA D0BA EA
|
||||
EB EB EB D0BB EB
|
||||
EC EC EC D0BC EC
|
||||
ED ED ED D0BD ED
|
||||
EE EE EE D0BE EE
|
||||
EF EF EF D0BF EF
|
||||
F0 F0 F0 D180 F0
|
||||
F1 F1 F1 D181 F1
|
||||
F2 F2 F2 D182 F2
|
||||
F3 F3 F3 D183 F3
|
||||
F4 F4 F4 D184 F4
|
||||
F5 F5 F5 D185 F5
|
||||
F6 F6 F6 D186 F6
|
||||
F7 F7 F7 D187 F7
|
||||
F8 F8 F8 D188 F8
|
||||
F9 F9 F9 D189 F9
|
||||
FA FA FA D18A FA
|
||||
FB FB FB D18B FB
|
||||
FC FC FC D18C FC
|
||||
FD FD FD D18D FD
|
||||
FE FE FE D18E FE
|
||||
FF FF FF D18F FF
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 5.1 tests
|
||||
#
|
||||
#
|
||||
# Start of 5.5 tests
|
||||
#
|
||||
#
|
||||
|
2310
mysql-test/r/ctype_like_range.result
Normal file
2310
mysql-test/r/ctype_like_range.result
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1684,6 +1684,9 @@ ARMENIAN CAPIT ECH 2
|
||||
ARMENIAN CAPIT ZA 2
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Start of 5.5 tests
|
||||
#
|
||||
#
|
||||
# WL#1213 Implement 4-byte UTF8, UTF16 and UTF32
|
||||
# Testing that only utf8mb4 is superset for utf8
|
||||
# No other Unicode character set pairs have superset/subset relations
|
||||
@@ -1739,3 +1742,22 @@ ERROR HY000: Illegal mix of collations (utf32_general_ci,IMPLICIT) and (utf8mb4_
|
||||
SELECT CHARSET(CONCAT(utf32, utf16)) FROM t1;
|
||||
ERROR HY000: Illegal mix of collations (utf32_general_ci,IMPLICIT) and (utf16_general_ci,IMPLICIT) for operation 'concat'
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#58321 No warning when characters outside BMP0 is converted to UCS2
|
||||
#
|
||||
CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf32);
|
||||
CREATE TABLE t2 (a VARCHAR(10) CHARACTER SET ucs2);
|
||||
INSERT INTO t1 VALUES (0x10082), (0x12345);
|
||||
INSERT INTO t2 SELECT * FROM t1;
|
||||
Warnings:
|
||||
Warning 1366 Incorrect string value: '\x00\x01\x00\x82' for column 'a' at row 1
|
||||
Warning 1366 Incorrect string value: '\x00\x01\x23\x45' for column 'a' at row 2
|
||||
SELECT HEX(a) FROM t2;
|
||||
HEX(a)
|
||||
003F
|
||||
003F
|
||||
DROP TABLE t1;
|
||||
DROP TABLE t2;
|
||||
#
|
||||
# End of 5.5 tests
|
||||
#
|
||||
|
@@ -2888,3 +2888,101 @@ a hex(b) c
|
||||
DROP TABLE t1;
|
||||
set names utf8;
|
||||
End for 5.0 tests
|
||||
#
|
||||
# Start of 5.5 tests
|
||||
#
|
||||
SET collation_connection=utf8_czech_ci;
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8_czech_ci
|
||||
#
|
||||
# Bug#57737 Character sets: search fails with like, contraction, index
|
||||
#
|
||||
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
|
||||
INSERT INTO t1 VALUES ('c'),('ce'),('cé'),('ch');
|
||||
SELECT * FROM t1 WHERE s1 LIKE 'c%';
|
||||
s1
|
||||
c
|
||||
ce
|
||||
cé
|
||||
ch
|
||||
ALTER TABLE t1 ADD KEY s1 (s1);
|
||||
SELECT * FROM t1 WHERE s1 LIKE 'c%';
|
||||
s1
|
||||
c
|
||||
ce
|
||||
cé
|
||||
ch
|
||||
ALTER TABLE t1 DROP KEY s1, ADD KEY(s1(1));
|
||||
SELECT * FROM t1 WHERE s1 LIKE 'ch';
|
||||
s1
|
||||
ch
|
||||
DROP TABLE t1;
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8_czech_ci
|
||||
#
|
||||
# Bug#57737 Character sets: search fails with like, contraction, index
|
||||
# Part#2 - ignorable characters
|
||||
#
|
||||
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
|
||||
INSERT INTO t1 VALUES ('a\0\0\0\0\0\t'),('a'),('b'),('c'),('d'),('e');
|
||||
SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
|
||||
HEX(s1)
|
||||
61000000000009
|
||||
61
|
||||
ALTER TABLE t1 ADD KEY s1 (s1);
|
||||
SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
|
||||
HEX(s1)
|
||||
61000000000009
|
||||
61
|
||||
DROP TABLE t1;
|
||||
SET collation_connection=ucs2_czech_ci;
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
ucs2_czech_ci
|
||||
#
|
||||
# Bug#57737 Character sets: search fails with like, contraction, index
|
||||
#
|
||||
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
|
||||
INSERT INTO t1 VALUES ('c'),('ce'),('cé'),('ch');
|
||||
SELECT * FROM t1 WHERE s1 LIKE 'c%';
|
||||
s1
|
||||
c
|
||||
ce
|
||||
cé
|
||||
ch
|
||||
ALTER TABLE t1 ADD KEY s1 (s1);
|
||||
SELECT * FROM t1 WHERE s1 LIKE 'c%';
|
||||
s1
|
||||
c
|
||||
ce
|
||||
cé
|
||||
ch
|
||||
ALTER TABLE t1 DROP KEY s1, ADD KEY(s1(1));
|
||||
SELECT * FROM t1 WHERE s1 LIKE 'ch';
|
||||
s1
|
||||
ch
|
||||
DROP TABLE t1;
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
ucs2_czech_ci
|
||||
#
|
||||
# Bug#57737 Character sets: search fails with like, contraction, index
|
||||
# Part#2 - ignorable characters
|
||||
#
|
||||
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
|
||||
INSERT INTO t1 VALUES ('a\0\0\0\0\0\t'),('a'),('b'),('c'),('d'),('e');
|
||||
SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
|
||||
HEX(s1)
|
||||
0061000000000000000000000009
|
||||
0061
|
||||
ALTER TABLE t1 ADD KEY s1 (s1);
|
||||
SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
|
||||
HEX(s1)
|
||||
0061000000000000000000000009
|
||||
0061
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 5.5 tests
|
||||
#
|
||||
|
@@ -2368,6 +2368,52 @@ NULL
|
||||
NULL
|
||||
NULL
|
||||
drop table t1;
|
||||
SET collation_connection=utf16_czech_ci;
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf16_czech_ci
|
||||
#
|
||||
# Bug#57737 Character sets: search fails with like, contraction, index
|
||||
#
|
||||
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
|
||||
INSERT INTO t1 VALUES ('c'),('ce'),('cé'),('ch');
|
||||
SELECT * FROM t1 WHERE s1 LIKE 'c%';
|
||||
s1
|
||||
c
|
||||
ce
|
||||
cé
|
||||
ch
|
||||
ALTER TABLE t1 ADD KEY s1 (s1);
|
||||
SELECT * FROM t1 WHERE s1 LIKE 'c%';
|
||||
s1
|
||||
c
|
||||
ce
|
||||
cé
|
||||
ch
|
||||
ALTER TABLE t1 DROP KEY s1, ADD KEY(s1(1));
|
||||
SELECT * FROM t1 WHERE s1 LIKE 'ch';
|
||||
s1
|
||||
ch
|
||||
DROP TABLE t1;
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf16_czech_ci
|
||||
#
|
||||
# Bug#57737 Character sets: search fails with like, contraction, index
|
||||
# Part#2 - ignorable characters
|
||||
#
|
||||
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
|
||||
INSERT INTO t1 VALUES ('a\0\0\0\0\0\t'),('a'),('b'),('c'),('d'),('e');
|
||||
SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
|
||||
HEX(s1)
|
||||
0061000000000000000000000009
|
||||
0061
|
||||
ALTER TABLE t1 ADD KEY s1 (s1);
|
||||
SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
|
||||
HEX(s1)
|
||||
0061000000000000000000000009
|
||||
0061
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 5.5 tests
|
||||
#
|
||||
|
@@ -2368,6 +2368,52 @@ NULL
|
||||
NULL
|
||||
NULL
|
||||
drop table t1;
|
||||
SET collation_connection=utf32_czech_ci;
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf32_czech_ci
|
||||
#
|
||||
# Bug#57737 Character sets: search fails with like, contraction, index
|
||||
#
|
||||
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
|
||||
INSERT INTO t1 VALUES ('c'),('ce'),('cé'),('ch');
|
||||
SELECT * FROM t1 WHERE s1 LIKE 'c%';
|
||||
s1
|
||||
c
|
||||
ce
|
||||
cé
|
||||
ch
|
||||
ALTER TABLE t1 ADD KEY s1 (s1);
|
||||
SELECT * FROM t1 WHERE s1 LIKE 'c%';
|
||||
s1
|
||||
c
|
||||
ce
|
||||
cé
|
||||
ch
|
||||
ALTER TABLE t1 DROP KEY s1, ADD KEY(s1(1));
|
||||
SELECT * FROM t1 WHERE s1 LIKE 'ch';
|
||||
s1
|
||||
ch
|
||||
DROP TABLE t1;
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf32_czech_ci
|
||||
#
|
||||
# Bug#57737 Character sets: search fails with like, contraction, index
|
||||
# Part#2 - ignorable characters
|
||||
#
|
||||
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
|
||||
INSERT INTO t1 VALUES ('a\0\0\0\0\0\t'),('a'),('b'),('c'),('d'),('e');
|
||||
SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
|
||||
HEX(s1)
|
||||
00000061000000000000000000000000000000000000000000000009
|
||||
00000061
|
||||
ALTER TABLE t1 ADD KEY s1 (s1);
|
||||
SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
|
||||
HEX(s1)
|
||||
00000061000000000000000000000000000000000000000000000009
|
||||
00000061
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 5.5 tests
|
||||
#
|
||||
|
@@ -400,4 +400,30 @@ SELECT 0 FROM
|
||||
(SELECT 0) t61;
|
||||
0
|
||||
0
|
||||
#
|
||||
# A nested materialized derived table is used before being populated.
|
||||
# (addon for bug#19077)
|
||||
#
|
||||
CREATE TABLE t1 (i INT, j BIGINT);
|
||||
INSERT INTO t1 VALUES (1, 2), (2, 2), (3, 2);
|
||||
SELECT * FROM (SELECT MIN(i) FROM t1
|
||||
WHERE j = SUBSTRING('12', (SELECT * FROM (SELECT MIN(j) FROM t1) t2))) t3;
|
||||
MIN(i)
|
||||
1
|
||||
DROP TABLE t1;
|
||||
# End of 5.0 tests
|
||||
#
|
||||
# Bug#58730 Assertion failed: table->key_read == 0 in close_thread_table,
|
||||
# temptable views
|
||||
#
|
||||
CREATE TABLE t1 (a INT);
|
||||
CREATE TABLE t2 (b INT, KEY (b));
|
||||
INSERT INTO t1 VALUES (1),(1);
|
||||
INSERT INTO t2 VALUES (1),(1);
|
||||
CREATE algorithm=temptable VIEW v1 AS
|
||||
SELECT 1 FROM t1 LEFT JOIN t1 t3 ON 1 > (SELECT 1 FROM t1);
|
||||
CREATE algorithm=temptable VIEW v2 AS SELECT 1 FROM t2;
|
||||
EXPLAIN SELECT 1 FROM t1 JOIN v1 ON 1 > (SELECT 1 FROM v2);
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
DROP TABLE t1, t2;
|
||||
DROP VIEW v1, v2;
|
||||
|
@@ -1046,6 +1046,18 @@ INSERT INTO t1 values (0),(0);
|
||||
SELECT POLYGON((SELECT 1 FROM (SELECT 1 IN (GROUP_CONCAT(t1.f1)) FROM t1, t1 t GROUP BY t.f1 ) d));
|
||||
ERROR 22007: Illegal non geometric '(select 1 from (select (1 = group_concat(`test`.`t1`.`f1` separator ',')) AS `1 IN (GROUP_CONCAT(t1.f1))` from `test`.`t1` join `test`.`t1` `t` group by `t`.`f1`) `d`)' value found during parsing
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#58396 group_concat and explain extended are still crashy
|
||||
#
|
||||
CREATE TABLE t1(a INT);
|
||||
EXPLAIN EXTENDED SELECT UPDATEXML('1', a, '1')
|
||||
FROM t1 ORDER BY (SELECT GROUP_CONCAT(1) FROM t1);
|
||||
ERROR HY000: Only constant XPATH queries are supported
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Error 1105 Only constant XPATH queries are supported
|
||||
Note 1003 select updatexml('1',`test`.`t1`.`a`,'1') AS `UPDATEXML('1', a, '1')` from `test`.`t1` order by (select group_concat(1 separator ',') from `test`.`t1`)
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
DROP TABLE IF EXISTS t1, t2;
|
||||
CREATE TABLE t1 (a VARCHAR(6), b INT);
|
||||
|
@@ -1746,3 +1746,18 @@ MAX(c1) MIN(c1)
|
||||
-00:00:01 -00:00:01
|
||||
DROP TABLE t1;
|
||||
# End of the bug#56120
|
||||
#
|
||||
# Bug#57932 "query with AVG(DISTINCT) returns NULL if last
|
||||
# aggregated value was NULL"
|
||||
#
|
||||
CREATE TABLE t1 (col_int_nokey int(11));
|
||||
INSERT INTO t1 VALUES (7),(8),(NULL);
|
||||
SELECT AVG(DISTINCT col_int_nokey) FROM t1;
|
||||
AVG(DISTINCT col_int_nokey)
|
||||
7.5000
|
||||
SELECT AVG(DISTINCT outr.col_int_nokey) FROM t1 AS outr LEFT JOIN t1 AS outr2 ON
|
||||
outr.col_int_nokey = outr2.col_int_nokey;
|
||||
AVG(DISTINCT outr.col_int_nokey)
|
||||
7.5000
|
||||
DROP TABLE t1;
|
||||
# End of the bug#57932
|
||||
|
@@ -145,3 +145,50 @@ select count(*), min(7), max(7) from t2m, t1i;
|
||||
count(*) min(7) max(7)
|
||||
0 NULL NULL
|
||||
drop table t1m, t1i, t2m, t2i;
|
||||
#
|
||||
# Bug #57954: BIT_AND function returns incorrect results when
|
||||
# semijoin=on
|
||||
CREATE TABLE c (
|
||||
pk INT,
|
||||
col_varchar_key VARCHAR(1),
|
||||
PRIMARY KEY (pk),
|
||||
KEY col_varchar_key (col_varchar_key)
|
||||
) ENGINE=InnoDB;
|
||||
INSERT INTO c VALUES (11,NULL);
|
||||
INSERT INTO c VALUES (16,'c');
|
||||
CREATE TABLE bb (
|
||||
pk INT,
|
||||
col_varchar_key VARCHAR(1),
|
||||
PRIMARY KEY (pk),
|
||||
KEY col_varchar_key (col_varchar_key)
|
||||
) ENGINE=InnoDB;
|
||||
INSERT INTO bb VALUES (10,NULL);
|
||||
SELECT straight_join BIT_AND(c.pk)
|
||||
FROM
|
||||
bb, c
|
||||
WHERE c.col_varchar_key='ABC'
|
||||
ORDER BY c.pk;
|
||||
BIT_AND(c.pk)
|
||||
18446744073709551615
|
||||
DROP TABLE c,bb;
|
||||
#
|
||||
# Bug #58050: BIT_OR and BIT_XOR return incorrect results when
|
||||
# semijoin=on
|
||||
#
|
||||
CREATE TABLE t1 (pk INT PRIMARY KEY, b INT, c INT) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES(1, 1, 1);
|
||||
CREATE TABLE t2 (pk INT PRIMARY KEY, b INT, c INT) ENGINE=InnoDB;
|
||||
INSERT INTO t2 VALUES (1, 1, NULL);
|
||||
SELECT t1.* FROM t1 JOIN t2 ON t1.c=t2.c WHERE t1.pk=1;
|
||||
pk b c
|
||||
SELECT BIT_OR(t1.b) FROM t1 JOIN t2 ON t1.c=t2.c WHERE t1.pk=1;
|
||||
BIT_OR(t1.b)
|
||||
0
|
||||
SELECT BIT_AND(t1.b) FROM t1 JOIN t2 ON t1.c=t2.c WHERE t1.pk=1;
|
||||
BIT_AND(t1.b)
|
||||
18446744073709551615
|
||||
SELECT BIT_XOR(t1.b) FROM t1 JOIN t2 ON t1.c=t2.c WHERE t1.pk=1;
|
||||
BIT_XOR(t1.b)
|
||||
0
|
||||
DROP TABLE t1, t2;
|
||||
End of 5.5 tests
|
||||
|
@@ -351,6 +351,12 @@ GREATEST(a, (SELECT b FROM t1 LIMIT 1))
|
||||
3
|
||||
1
|
||||
DROP TABLE t1;
|
||||
SELECT INET_NTOA(0);
|
||||
INET_NTOA(0)
|
||||
0.0.0.0
|
||||
SELECT '1' IN ('1', INET_NTOA(0));
|
||||
'1' IN ('1', INET_NTOA(0))
|
||||
1
|
||||
#
|
||||
# Bug #52165: Assertion failed: file .\dtoa.c, line 465
|
||||
#
|
||||
|
@@ -2603,6 +2603,18 @@ ORDER BY QUOTE(t1.a);
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#57913 large negative number to string conversion functions crash
|
||||
# Bug#57810 case/when/then : Assertion failed: length || !scale
|
||||
#
|
||||
SELECT '1' IN ('1', SUBSTRING(-9223372036854775809, 1));
|
||||
'1' IN ('1', SUBSTRING(-9223372036854775809, 1))
|
||||
1
|
||||
SELECT CONVERT(('' IN (REVERSE(CAST(('') AS DECIMAL)), '')), CHAR(3));
|
||||
CONVERT(('' IN (REVERSE(CAST(('') AS DECIMAL)), '')), CHAR(3))
|
||||
1
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
End of 5.1 tests
|
||||
Start of 5.4 tests
|
||||
SELECT format(12345678901234567890.123, 3);
|
||||
|
@@ -17,3 +17,38 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 index NULL fkey 5 NULL 5 Using index
|
||||
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.fkey 1 Using where
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# BUG#58456: Assertion 0 in QUICK_INDEX_MERGE_SELECT::need_sorted_output
|
||||
# in opt_range.h
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
col_int INT,
|
||||
col_int_key INT,
|
||||
pk INT NOT NULL,
|
||||
PRIMARY KEY (pk),
|
||||
KEY col_int_key (col_int_key)
|
||||
) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (NULL,1,1), (6,2,2), (5,3,3), (NULL,4,4);
|
||||
INSERT INTO t1 VALUES (1,NULL,6), (8,5,7), (NULL,8,8), (8,NULL,5);
|
||||
CREATE TABLE t2 (
|
||||
pk INT PRIMARY KEY
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
EXPLAIN SELECT t1.pk
|
||||
FROM t2 LEFT JOIN t1 ON t2.pk = t1.col_int
|
||||
WHERE t1.col_int_key BETWEEN 5 AND 6
|
||||
AND t1.pk IS NULL OR t1.pk IN (5)
|
||||
ORDER BY pk;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 const PRIMARY,col_int_key PRIMARY 4 const 2 Using where
|
||||
1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.col_int 1 Using index
|
||||
|
||||
SELECT t1.pk
|
||||
FROM t2 LEFT JOIN t1 ON t2.pk = t1.col_int
|
||||
WHERE t1.col_int_key BETWEEN 5 AND 6
|
||||
AND t1.pk IS NULL OR t1.pk IN (5)
|
||||
ORDER BY pk;
|
||||
pk
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
# End BUG#58456
|
||||
|
@@ -430,6 +430,8 @@ SELECT table_name, table_comment FROM information_schema.tables
|
||||
WHERE table_schema= 'test' AND table_name= 't1';
|
||||
table_name table_comment
|
||||
t1 Lock wait timeout exceeded; try restarting transaction
|
||||
Warnings:
|
||||
Warning 1205 Lock wait timeout exceeded; try restarting transaction
|
||||
# Connection default
|
||||
UNLOCK TABLES;
|
||||
# Connection con3
|
||||
|
@@ -2322,6 +2322,8 @@ select table_name, table_type, auto_increment, table_comment
|
||||
from information_schema.tables where table_schema='test' and table_name='t2';
|
||||
table_name table_type auto_increment table_comment
|
||||
t2 BASE TABLE NULL Table 'test'.'t2' was skipped since its definition is being modified by concurrent DDL statement
|
||||
Warnings:
|
||||
Warning 1684 Table 'test'.'t2' was skipped since its definition is being modified by concurrent DDL statement
|
||||
# Switching to connection 'default'.
|
||||
unlock tables;
|
||||
# Switching to connection 'con46044'.
|
||||
|
@@ -2084,6 +2084,8 @@ SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE
|
||||
TABLE_SCHEMA = 'test' and TABLE_NAME='tm1';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT
|
||||
def test tm1 BASE TABLE NULL NULL NULL # # # # # # # # # # NULL # # Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||
Warnings:
|
||||
Warning 1168 Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||
DROP TABLE tm1;
|
||||
CREATE TABLE t1(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM;
|
||||
CREATE TABLE t2(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM;
|
||||
|
@@ -669,4 +669,15 @@ Error 1242 Subquery returns more than 1 row
|
||||
Error 1242 Subquery returns more than 1 row
|
||||
DROP TABLE t1, t2, t3;
|
||||
SET SESSION sql_safe_updates = DEFAULT;
|
||||
#
|
||||
# Bug#52157 various crashes and assertions with multi-table update, stored function
|
||||
#
|
||||
CREATE FUNCTION f1 () RETURNS BLOB RETURN 1;
|
||||
CREATE TABLE t1 (f1 DATE);
|
||||
INSERT INTO t1 VALUES('2001-01-01');
|
||||
UPDATE (SELECT 1 FROM t1 WHERE f1 = (SELECT f1() FROM t1)) x, t1 SET f1 = 1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect datetime value: '1'
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
end of tests
|
||||
|
@@ -433,4 +433,73 @@ Bug #47147: mysql client option --skip-column-names does not apply to vertical o
|
||||
*************************** 1. row ***************************
|
||||
1
|
||||
|
||||
#
|
||||
# Bug #54899: --one-database option cannot handle DROP/CREATE DATABASE
|
||||
# commands.
|
||||
#
|
||||
CREATE DATABASE connected_db;
|
||||
USE connected_db;
|
||||
SHOW TABLES;
|
||||
Tables_in_connected_db
|
||||
table_in_connected_db
|
||||
DROP DATABASE connected_db;
|
||||
|
||||
#
|
||||
# Testing --one-database option
|
||||
#
|
||||
CREATE DATABASE connected_db;
|
||||
SHOW TABLES IN connected_db;
|
||||
Tables_in_connected_db
|
||||
t1
|
||||
SHOW TABLES IN test;
|
||||
Tables_in_test
|
||||
t1
|
||||
USE test;
|
||||
DROP TABLE t1;
|
||||
DROP DATABASE connected_db;
|
||||
|
||||
SHOW TABLES IN test;
|
||||
Tables_in_test
|
||||
SHOW TABLES IN test1;
|
||||
Tables_in_test1
|
||||
DROP DATABASE test1;
|
||||
|
||||
#
|
||||
# Checking --one-database option followed by the execution of
|
||||
# connect command.
|
||||
#
|
||||
CREATE DATABASE connected_db;
|
||||
SHOW TABLES IN connected_db;
|
||||
Tables_in_connected_db
|
||||
t1
|
||||
t2
|
||||
SHOW TABLES IN test;
|
||||
Tables_in_test
|
||||
t1
|
||||
t2
|
||||
DROP TABLE test.t1;
|
||||
DROP TABLE test.t2;
|
||||
DROP DATABASE connected_db;
|
||||
|
||||
#
|
||||
# Checking --one-database option with no database specified
|
||||
# at command-line.
|
||||
#
|
||||
SHOW TABLES IN test;
|
||||
Tables_in_test
|
||||
|
||||
#
|
||||
# Checking --one-database option with non_existent_db
|
||||
# specified with USE command
|
||||
#
|
||||
CREATE DATABASE connected_db;
|
||||
SHOW TABLES IN connected_db;
|
||||
Tables_in_connected_db
|
||||
table_in_connected_db
|
||||
|
||||
SHOW TABLES IN connected_db;
|
||||
Tables_in_connected_db
|
||||
table_in_connected_db
|
||||
DROP DATABASE connected_db;
|
||||
|
||||
End of tests
|
||||
|
@@ -32,10 +32,10 @@ The following options may be given as the first argument:
|
||||
file (Solves most 'table full' errors)
|
||||
--bind-address=name IP address to bind to.
|
||||
--binlog-cache-size=#
|
||||
The size of the cache to hold the SQL statements for the
|
||||
binary log during a transaction. If you often use big,
|
||||
multi-statement transactions you can increase this to get
|
||||
more performance
|
||||
The size of the transactional cache for updates to
|
||||
transactional engines for the binary log. If you often
|
||||
use transactions containing many statements, you can
|
||||
increase this to get more performance
|
||||
--binlog-direct-non-transactional-updates
|
||||
Causes updates to non-transactional engines using
|
||||
statement format to be written directly to binary log.
|
||||
@@ -66,6 +66,11 @@ The following options may be given as the first argument:
|
||||
The maximum size of a row-based binary log event in
|
||||
bytes. Rows will be grouped into events smaller than this
|
||||
size if possible. The value has to be a multiple of 256.
|
||||
--binlog-stmt-cache-size=#
|
||||
The size of the statement cache for updates to
|
||||
non-transactional engines for the binary log. If you
|
||||
often use statements updating a great number of rows, you
|
||||
can increase this to get more performance
|
||||
--bootstrap Used by mysql installation scripts.
|
||||
--bulk-insert-buffer-size=#
|
||||
Size of tree cache used in bulk insert optimisation. Note
|
||||
@@ -278,14 +283,15 @@ The following options may be given as the first argument:
|
||||
--max-allowed-packet=#
|
||||
Max packet length to send to or receive from the server
|
||||
--max-binlog-cache-size=#
|
||||
Can be used to restrict the total size used to cache a
|
||||
multi-transaction query
|
||||
Sets the total size of the transactional cache
|
||||
--max-binlog-dump-events=#
|
||||
Option used by mysql-test for debugging and testing of
|
||||
replication.
|
||||
--max-binlog-size=# Binary log will be rotated automatically when the size
|
||||
exceeds this value. Will also apply to relay logs if
|
||||
max_relay_log_size is 0
|
||||
--max-binlog-stmt-cache-size=#
|
||||
Sets the total size of the statement cache
|
||||
--max-connect-errors=#
|
||||
If there is more than this number of interrupted
|
||||
connections from a host this host will be blocked from
|
||||
@@ -734,6 +740,7 @@ binlog-cache-size 32768
|
||||
binlog-direct-non-transactional-updates FALSE
|
||||
binlog-format STATEMENT
|
||||
binlog-row-event-max-size 1024
|
||||
binlog-stmt-cache-size 32768
|
||||
bulk-insert-buffer-size 8388608
|
||||
character-set-client-handshake TRUE
|
||||
character-set-filesystem binary
|
||||
@@ -813,6 +820,7 @@ max-allowed-packet 1048576
|
||||
max-binlog-cache-size 18446744073709547520
|
||||
max-binlog-dump-events 0
|
||||
max-binlog-size 1073741824
|
||||
max-binlog-stmt-cache-size 18446744073709547520
|
||||
max-connect-errors 10
|
||||
max-connections 151
|
||||
max-delayed-threads 20
|
||||
|
@@ -32,10 +32,10 @@ The following options may be given as the first argument:
|
||||
file (Solves most 'table full' errors)
|
||||
--bind-address=name IP address to bind to.
|
||||
--binlog-cache-size=#
|
||||
The size of the cache to hold the SQL statements for the
|
||||
binary log during a transaction. If you often use big,
|
||||
multi-statement transactions you can increase this to get
|
||||
more performance
|
||||
The size of the transactional cache for updates to
|
||||
transactional engines for the binary log. If you often
|
||||
use transactions containing many statements, you can
|
||||
increase this to get more performance
|
||||
--binlog-direct-non-transactional-updates
|
||||
Causes updates to non-transactional engines using
|
||||
statement format to be written directly to binary log.
|
||||
@@ -66,6 +66,11 @@ The following options may be given as the first argument:
|
||||
The maximum size of a row-based binary log event in
|
||||
bytes. Rows will be grouped into events smaller than this
|
||||
size if possible. The value has to be a multiple of 256.
|
||||
--binlog-stmt-cache-size=#
|
||||
The size of the statement cache for updates to
|
||||
non-transactional engines for the binary log. If you
|
||||
often use statements updating a great number of rows, you
|
||||
can increase this to get more performance
|
||||
--bootstrap Used by mysql installation scripts.
|
||||
--bulk-insert-buffer-size=#
|
||||
Size of tree cache used in bulk insert optimisation. Note
|
||||
@@ -277,14 +282,15 @@ The following options may be given as the first argument:
|
||||
--max-allowed-packet=#
|
||||
Max packet length to send to or receive from the server
|
||||
--max-binlog-cache-size=#
|
||||
Can be used to restrict the total size used to cache a
|
||||
multi-transaction query
|
||||
Sets the total size of the transactional cache
|
||||
--max-binlog-dump-events=#
|
||||
Option used by mysql-test for debugging and testing of
|
||||
replication.
|
||||
--max-binlog-size=# Binary log will be rotated automatically when the size
|
||||
exceeds this value. Will also apply to relay logs if
|
||||
max_relay_log_size is 0
|
||||
--max-binlog-stmt-cache-size=#
|
||||
Sets the total size of the statement cache
|
||||
--max-connect-errors=#
|
||||
If there is more than this number of interrupted
|
||||
connections from a host this host will be blocked from
|
||||
@@ -738,6 +744,7 @@ binlog-cache-size 32768
|
||||
binlog-direct-non-transactional-updates FALSE
|
||||
binlog-format STATEMENT
|
||||
binlog-row-event-max-size 1024
|
||||
binlog-stmt-cache-size 32768
|
||||
bulk-insert-buffer-size 8388608
|
||||
character-set-client-handshake TRUE
|
||||
character-set-filesystem binary
|
||||
@@ -816,6 +823,7 @@ max-allowed-packet 1048576
|
||||
max-binlog-cache-size 18446744073709547520
|
||||
max-binlog-dump-events 0
|
||||
max-binlog-size 1073741824
|
||||
max-binlog-stmt-cache-size 18446744073709547520
|
||||
max-connect-errors 10
|
||||
max-connections 151
|
||||
max-delayed-threads 20
|
||||
|
49
mysql-test/r/partition_binlog.result
Normal file
49
mysql-test/r/partition_binlog.result
Normal file
@@ -0,0 +1,49 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
#
|
||||
# Bug#58147: ALTER TABLE w/ TRUNCATE PARTITION fails
|
||||
# but the statement is written to binlog
|
||||
#
|
||||
CREATE TABLE t1(id INT)
|
||||
PARTITION BY RANGE (id)
|
||||
(PARTITION p0 VALUES LESS THAN (100),
|
||||
PARTITION pmax VALUES LESS THAN (MAXVALUE));
|
||||
INSERT INTO t1 VALUES (1), (10), (100), (1000);
|
||||
ALTER TABLE t1 TRUNCATE PARTITION p1;
|
||||
ERROR HY000: Incorrect partition name
|
||||
ALTER TABLE t1 DROP PARTITION p1;
|
||||
ERROR HY000: Error in list of partitions to DROP
|
||||
# No error returned, output in table format instead:
|
||||
ALTER TABLE t1 ANALYZE PARTITION p1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze error Error in list of partitions to test.t1
|
||||
ALTER TABLE t1 CHECK PARTITION p1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check error Error in list of partitions to test.t1
|
||||
ALTER TABLE t1 OPTIMIZE PARTITION p1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize error Error in list of partitions to test.t1
|
||||
ALTER TABLE t1 REPAIR PARTITION p1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair error Error in list of partitions to test.t1
|
||||
ALTER TABLE t1 ANALYZE PARTITION p0;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status OK
|
||||
ALTER TABLE t1 CHECK PARTITION p0;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
ALTER TABLE t1 OPTIMIZE PARTITION p0;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize status OK
|
||||
ALTER TABLE t1 REPAIR PARTITION p0;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair status OK
|
||||
ALTER TABLE t1 TRUNCATE PARTITION p0;
|
||||
ALTER TABLE t1 DROP PARTITION p0;
|
||||
show binlog events in 'master-bin.000001' from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ANALYZE PARTITION p0
|
||||
master-bin.000001 # Query # # use `test`; ALTER TABLE t1 OPTIMIZE PARTITION p0
|
||||
master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REPAIR PARTITION p0
|
||||
master-bin.000001 # Query # # use `test`; ALTER TABLE t1 TRUNCATE PARTITION p0
|
||||
master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p0
|
||||
DROP TABLE t1;
|
@@ -318,4 +318,14 @@ Proxied_host
|
||||
Proxied_user
|
||||
With_grant 1
|
||||
FLUSH PRIVILEGES;
|
||||
#
|
||||
# Bug#58139 : default-auth option not recognized in MySQL standardi
|
||||
# command line clients
|
||||
#
|
||||
# Executing 'mysql'
|
||||
1
|
||||
1
|
||||
# Executing 'mysqladmin'
|
||||
mysqld is alive
|
||||
# Executing 'mysqldump'
|
||||
End of 5.5 tests
|
||||
|
@@ -8,3 +8,5 @@ ERROR 42000: DELETE command denied to user 'bug51770'@'localhost' for table 'plu
|
||||
GRANT DELETE ON mysql.plugin TO bug51770@localhost;
|
||||
UNINSTALL PLUGIN example;
|
||||
DROP USER bug51770@localhost;
|
||||
INSTALL PLUGIN example SONAME '../ha_example.so';
|
||||
ERROR HY000: No paths allowed for shared library
|
||||
|
@@ -663,6 +663,8 @@ flush tables;
|
||||
SHOW TABLE STATUS like 't1';
|
||||
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 NULL NULL NULL NULL # # # # NULL NULL NULL NULL NULL NULL NULL NULL Incorrect information in file: './test/t1.frm'
|
||||
Warnings:
|
||||
Warning 1033 Incorrect information in file: './test/t1.frm'
|
||||
show create table t1;
|
||||
ERROR HY000: Incorrect information in file: './test/t1.frm'
|
||||
drop table if exists t1;
|
||||
|
@@ -1511,6 +1511,39 @@ SELECT @@skip_name_resolve;
|
||||
SHOW VARIABLES LIKE 'skip_name_resolve';
|
||||
Variable_name Value
|
||||
skip_name_resolve OFF
|
||||
#
|
||||
# Bug #43233 : Some server variables are clipped during "update,"
|
||||
# not "check" stage
|
||||
#
|
||||
SET @kbs=@@global.key_buffer_size;
|
||||
SET @kcbs=@@global.key_cache_block_size;
|
||||
throw errors in STRICT mode
|
||||
SET SQL_MODE=STRICT_ALL_TABLES;
|
||||
SET @@global.max_binlog_cache_size=-1;
|
||||
ERROR 42000: Variable 'max_binlog_cache_size' can't be set to the value of '-1'
|
||||
SET @@global.max_join_size=0;
|
||||
ERROR 42000: Variable 'max_join_size' can't be set to the value of '0'
|
||||
SET @@global.key_buffer_size=0;
|
||||
ERROR HY000: Cannot drop default keycache
|
||||
SET @@global.key_cache_block_size=0;
|
||||
ERROR 42000: Variable 'key_cache_block_size' can't be set to the value of '0'
|
||||
throw warnings in default mode
|
||||
SET SQL_MODE=DEFAULT;
|
||||
SET @@global.max_binlog_cache_size=-1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_binlog_cache_size value: '-1'
|
||||
SET @@global.max_join_size=0;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_join_size value: '0'
|
||||
SET @@global.key_buffer_size=0;
|
||||
ERROR HY000: Cannot drop default keycache
|
||||
SET @@global.key_cache_block_size=0;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_cache_block_size value: '0'
|
||||
SET @@global.max_binlog_cache_size=DEFAULT;
|
||||
SET @@global.max_join_size=DEFAULT;
|
||||
SET @@global.key_buffer_size=@kbs;
|
||||
SET @@global.key_cache_block_size=@kcbs;
|
||||
End of 5.1 tests
|
||||
|
||||
#
|
||||
|
@@ -840,6 +840,8 @@ 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
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
create view v1 as select 99999999999999999999999999999999999999999999999999999 as col1;
|
||||
@@ -3997,6 +3999,19 @@ CREATE VIEW v1 AS SELECT 1 from t1
|
||||
WHERE t1.b <=> (SELECT a FROM t1 WHERE a < SOME(SELECT '1'));
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#57703 create view cause Assertion failed: 0, file .\item_subselect.cc, line 846
|
||||
#
|
||||
CREATE TABLE t1(a int);
|
||||
CREATE VIEW v1 AS SELECT 1 FROM t1 GROUP BY
|
||||
SUBSTRING(1 FROM (SELECT 3 FROM t1 WHERE a >= ANY(SELECT 1)));
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#57352 valgrind warnings when creating view
|
||||
#
|
||||
CREATE VIEW v1 AS SELECT 1 IN (1 LIKE 2,0) AS f;
|
||||
DROP VIEW v1;
|
||||
# -----------------------------------------------------------------
|
||||
# -- End of 5.1 tests.
|
||||
# -----------------------------------------------------------------
|
||||
|
@@ -2,7 +2,9 @@ call mtr.add_suppression('Attempting backtrace');
|
||||
call mtr.add_suppression('MSYQL_BIN_LOG::purge_logs failed to process registered files that would be purged.');
|
||||
call mtr.add_suppression('MSYQL_BIN_LOG::open failed to sync the index file');
|
||||
call mtr.add_suppression('Turning logging off for the whole duration of the MySQL server process.');
|
||||
call mtr.add_suppression('Could not open .*');
|
||||
call mtr.add_suppression('MSYQL_BIN_LOG::purge_logs failed to clean registers before purging logs.');
|
||||
RESET MASTER;
|
||||
flush logs;
|
||||
flush logs;
|
||||
flush logs;
|
||||
@@ -116,11 +118,31 @@ master-bin.000011
|
||||
# This should put the server in unsafe state and stop
|
||||
# accepting any command. If we inject a fault at this
|
||||
# point and continue the execution the server crashes.
|
||||
# Besides the flush command does not report an error.
|
||||
#
|
||||
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
|
||||
SELECT @index;
|
||||
@index
|
||||
master-bin.000006
|
||||
master-bin.000007
|
||||
master-bin.000008
|
||||
master-bin.000009
|
||||
master-bin.000010
|
||||
master-bin.000011
|
||||
|
||||
# fault_injection_registering_index
|
||||
SET SESSION debug="+d,fault_injection_registering_index";
|
||||
flush logs;
|
||||
ERROR HY000: Can't open file: 'master-bin.000012' (errno: 1)
|
||||
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
|
||||
SELECT @index;
|
||||
@index
|
||||
master-bin.000006
|
||||
master-bin.000007
|
||||
master-bin.000008
|
||||
master-bin.000009
|
||||
master-bin.000010
|
||||
master-bin.000011
|
||||
|
||||
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
|
||||
SELECT @index;
|
||||
@index
|
||||
@@ -135,6 +157,18 @@ master-bin.000012
|
||||
# fault_injection_updating_index
|
||||
SET SESSION debug="+d,fault_injection_updating_index";
|
||||
flush logs;
|
||||
ERROR HY000: Can't open file: 'master-bin.000013' (errno: 1)
|
||||
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
|
||||
SELECT @index;
|
||||
@index
|
||||
master-bin.000006
|
||||
master-bin.000007
|
||||
master-bin.000008
|
||||
master-bin.000009
|
||||
master-bin.000010
|
||||
master-bin.000011
|
||||
master-bin.000012
|
||||
|
||||
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
|
||||
SELECT @index;
|
||||
@index
|
||||
|
@@ -123,7 +123,7 @@ Binlog_cache_disk_use 0
|
||||
create table t1 (a int) engine=innodb;
|
||||
show status like "binlog_cache_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_use 2
|
||||
Binlog_cache_use 1
|
||||
show status like "binlog_cache_disk_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_disk_use 1
|
||||
@@ -132,7 +132,7 @@ delete from t1;
|
||||
commit;
|
||||
show status like "binlog_cache_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_use 4
|
||||
Binlog_cache_use 2
|
||||
show status like "binlog_cache_disk_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_disk_use 1
|
||||
|
@@ -3,6 +3,5 @@ call mtr.add_suppression("Log filename extension number exhausted:");
|
||||
call mtr.add_suppression("Can't generate a unique log-filename");
|
||||
RESET MASTER;
|
||||
FLUSH LOGS;
|
||||
Warnings:
|
||||
Warning 1098 Can't generate a unique log-filename master-bin.(1-999)
|
||||
ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
|
||||
|
||||
|
@@ -1,25 +0,0 @@
|
||||
flush status;
|
||||
show status like "binlog_cache_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_use 0
|
||||
show status like "binlog_cache_disk_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_disk_use 0
|
||||
drop table if exists t1;
|
||||
create table t1 (a int) engine=innodb;
|
||||
show status like "binlog_cache_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_use 2
|
||||
show status like "binlog_cache_disk_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_disk_use 1
|
||||
begin;
|
||||
delete from t1;
|
||||
commit;
|
||||
show status like "binlog_cache_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_use 4
|
||||
show status like "binlog_cache_disk_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_disk_use 1
|
||||
drop table t1;
|
66
mysql-test/suite/binlog/r/binlog_mixed_cache_stat.result
Normal file
66
mysql-test/suite/binlog/r/binlog_mixed_cache_stat.result
Normal file
@@ -0,0 +1,66 @@
|
||||
drop table if exists t1, t2;
|
||||
create table t1 (a int) engine=innodb;
|
||||
create table t2 (a int) engine=myisam;
|
||||
**** Preparing the enviroment to check commit and its effect on status variables.
|
||||
**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
flush status;
|
||||
**** Transactional changes which are long enough so they will be flushed to disk...
|
||||
**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
**** Transactional changes which should not be flushed to disk and so should not
|
||||
**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t1 values( 1 );
|
||||
commit;
|
||||
**** Non-Transactional changes which should not be flushed to disk and so should not
|
||||
**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 1, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t2 values( 1 );
|
||||
commit;
|
||||
**** Mixed changes which should not be flushed to disk and so should not
|
||||
**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
**** Expected: binlog_cache_use = 3, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 2, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t1 values( 1 );
|
||||
insert into t2 values( 1 );
|
||||
commit;
|
||||
**** Preparing the enviroment to check abort and its effect on the status variables.
|
||||
**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
flush status;
|
||||
**** Transactional changes which are long enough so they will be flushed to disk...
|
||||
**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
**** Transactional changes which should not be flushed to disk and so should not
|
||||
**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t1 values( 1 );
|
||||
rollback;
|
||||
**** Non-Transactional changes which should not be flushed to disk and so should not
|
||||
**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 1, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t2 values( 1 );
|
||||
rollback;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
**** Mixed changes which should not be flushed to disk and so should not
|
||||
**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
**** Expected: binlog_cache_use = 3, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 2, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t1 values( 1 );
|
||||
insert into t2 values( 1 );
|
||||
rollback;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
drop table t1, t2;
|
@@ -1218,8 +1218,8 @@ master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
drop table t1,t2,t3,tt1;
|
||||
create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
|
||||
insert delayed into t1 values (207);
|
||||
insert delayed into t1 values (null);
|
||||
insert /* before delayed */ delayed /* after delayed */ into t1 values (207);
|
||||
insert /*! delayed */ into t1 values (null);
|
||||
insert delayed into t1 values (300);
|
||||
FLUSH TABLES;
|
||||
show binlog events from <binlog_start>;
|
||||
@@ -1330,3 +1330,62 @@ Log_name Pos Event_type Server_id End_log_pos Info
|
||||
# # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
# # Query 1 # COMMIT
|
||||
DROP TABLE t1;
|
||||
|
||||
# BUG#54903 BINLOG statement toggles session variables
|
||||
# ----------------------------------------------------------------------
|
||||
# This test verify that BINLOG statement doesn't change current session's
|
||||
# variables foreign_key_checks and unique_checks.
|
||||
|
||||
CREATE TABLE t1 (c1 INT KEY);
|
||||
SET @@SESSION.foreign_key_checks= ON;
|
||||
SET @@SESSION.unique_checks= ON;
|
||||
# INSERT INTO t1 VALUES (1)
|
||||
# foreign_key_checks=0 and unique_checks=0
|
||||
BINLOG '
|
||||
dfLtTBMBAAAAKQAAANcAAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
|
||||
dfLtTBcBAAAAIgAAAPkAAAAAABcAAAAAAAcAAf/+AQAAAA==
|
||||
';
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1
|
||||
# Their values should be ON
|
||||
SHOW SESSION VARIABLES LIKE "%_checks";
|
||||
Variable_name Value
|
||||
foreign_key_checks ON
|
||||
unique_checks ON
|
||||
|
||||
SET @@SESSION.foreign_key_checks= OFF;
|
||||
SET @@SESSION.unique_checks= OFF;
|
||||
# INSERT INTO t1 VALUES(2)
|
||||
# foreign_key_checks=1 and unique_checks=1
|
||||
BINLOG '
|
||||
dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
|
||||
dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
|
||||
';
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1
|
||||
2
|
||||
# Their values should be OFF
|
||||
SHOW SESSION VARIABLES LIKE "%_checks";
|
||||
Variable_name Value
|
||||
foreign_key_checks OFF
|
||||
unique_checks OFF
|
||||
# INSERT INTO t1 VALUES(2)
|
||||
# foreign_key_checks=1 and unique_checks=1
|
||||
# It should not change current session's variables, even error happens
|
||||
BINLOG '
|
||||
dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
|
||||
dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
|
||||
';
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1
|
||||
2
|
||||
# Their values should be OFF
|
||||
SHOW SESSION VARIABLES LIKE "%_checks";
|
||||
Variable_name Value
|
||||
foreign_key_checks OFF
|
||||
unique_checks OFF
|
||||
DROP TABLE t1;
|
||||
|
66
mysql-test/suite/binlog/r/binlog_row_cache_stat.result
Normal file
66
mysql-test/suite/binlog/r/binlog_row_cache_stat.result
Normal file
@@ -0,0 +1,66 @@
|
||||
drop table if exists t1, t2;
|
||||
create table t1 (a int) engine=innodb;
|
||||
create table t2 (a int) engine=myisam;
|
||||
**** Preparing the enviroment to check commit and its effect on status variables.
|
||||
**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
flush status;
|
||||
**** Transactional changes which are long enough so they will be flushed to disk...
|
||||
**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
**** Transactional changes which should not be flushed to disk and so should not
|
||||
**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t1 values( 1 );
|
||||
commit;
|
||||
**** Non-Transactional changes which should not be flushed to disk and so should not
|
||||
**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 1, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t2 values( 1 );
|
||||
commit;
|
||||
**** Mixed changes which should not be flushed to disk and so should not
|
||||
**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
**** Expected: binlog_cache_use = 3, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 2, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t1 values( 1 );
|
||||
insert into t2 values( 1 );
|
||||
commit;
|
||||
**** Preparing the enviroment to check abort and its effect on the status variables.
|
||||
**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
flush status;
|
||||
**** Transactional changes which are long enough so they will be flushed to disk...
|
||||
**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
**** Transactional changes which should not be flushed to disk and so should not
|
||||
**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t1 values( 1 );
|
||||
rollback;
|
||||
**** Non-Transactional changes which should not be flushed to disk and so should not
|
||||
**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 1, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t2 values( 1 );
|
||||
rollback;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
**** Mixed changes which should not be flushed to disk and so should not
|
||||
**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
**** Expected: binlog_cache_use = 3, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 2, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t1 values( 1 );
|
||||
insert into t2 values( 1 );
|
||||
rollback;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
drop table t1, t2;
|
@@ -1,25 +0,0 @@
|
||||
flush status;
|
||||
show status like "binlog_cache_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_use 0
|
||||
show status like "binlog_cache_disk_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_disk_use 0
|
||||
drop table if exists t1;
|
||||
create table t1 (a int) engine=innodb;
|
||||
show status like "binlog_cache_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_use 2
|
||||
show status like "binlog_cache_disk_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_disk_use 1
|
||||
begin;
|
||||
delete from t1;
|
||||
commit;
|
||||
show status like "binlog_cache_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_use 4
|
||||
show status like "binlog_cache_disk_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_disk_use 1
|
||||
drop table t1;
|
@@ -1,6 +1,6 @@
|
||||
create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
|
||||
insert delayed into t1 values (207);
|
||||
insert delayed into t1 values (null);
|
||||
insert /* before delayed */ delayed /* after delayed */ into t1 values (207);
|
||||
insert /*! delayed */ into t1 values (null);
|
||||
insert delayed into t1 values (300);
|
||||
FLUSH TABLES;
|
||||
show binlog events from <binlog_start>;
|
||||
@@ -10,14 +10,14 @@ master-bin.000001 # Query # # use `mtr`; INSERT INTO test_suppressions (pattern)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; create table t1 (a int not null auto_increment, primary key (a)) engine=myisam
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert delayed into t1 values (207)
|
||||
master-bin.000001 # Query # # use `test`; insert /* before delayed */ /* after delayed */ into t1 values (207)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Intvar # # INSERT_ID=208
|
||||
master-bin.000001 # Query # # use `test`; insert delayed into t1 values (null)
|
||||
master-bin.000001 # Query # # use `test`; insert /*! */ into t1 values (null)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert delayed into t1 values (300)
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values (300)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; FLUSH TABLES
|
||||
RESET MASTER;
|
||||
|
@@ -717,8 +717,8 @@ master-bin.000001 # Query # # use `mysql`; DELETE FROM user WHERE host='localhos
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
drop table t1,t2,t3,tt1;
|
||||
create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
|
||||
insert delayed into t1 values (207);
|
||||
insert delayed into t1 values (null);
|
||||
insert /* before delayed */ delayed /* after delayed */ into t1 values (207);
|
||||
insert /*! delayed */ into t1 values (null);
|
||||
insert delayed into t1 values (300);
|
||||
FLUSH TABLES;
|
||||
show binlog events from <binlog_start>;
|
||||
@@ -820,3 +820,62 @@ Log_name Pos Event_type Server_id End_log_pos Info
|
||||
# # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
# # Query 1 # COMMIT
|
||||
DROP TABLE t1;
|
||||
|
||||
# BUG#54903 BINLOG statement toggles session variables
|
||||
# ----------------------------------------------------------------------
|
||||
# This test verify that BINLOG statement doesn't change current session's
|
||||
# variables foreign_key_checks and unique_checks.
|
||||
|
||||
CREATE TABLE t1 (c1 INT KEY);
|
||||
SET @@SESSION.foreign_key_checks= ON;
|
||||
SET @@SESSION.unique_checks= ON;
|
||||
# INSERT INTO t1 VALUES (1)
|
||||
# foreign_key_checks=0 and unique_checks=0
|
||||
BINLOG '
|
||||
dfLtTBMBAAAAKQAAANcAAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
|
||||
dfLtTBcBAAAAIgAAAPkAAAAAABcAAAAAAAcAAf/+AQAAAA==
|
||||
';
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1
|
||||
# Their values should be ON
|
||||
SHOW SESSION VARIABLES LIKE "%_checks";
|
||||
Variable_name Value
|
||||
foreign_key_checks ON
|
||||
unique_checks ON
|
||||
|
||||
SET @@SESSION.foreign_key_checks= OFF;
|
||||
SET @@SESSION.unique_checks= OFF;
|
||||
# INSERT INTO t1 VALUES(2)
|
||||
# foreign_key_checks=1 and unique_checks=1
|
||||
BINLOG '
|
||||
dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
|
||||
dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
|
||||
';
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1
|
||||
2
|
||||
# Their values should be OFF
|
||||
SHOW SESSION VARIABLES LIKE "%_checks";
|
||||
Variable_name Value
|
||||
foreign_key_checks OFF
|
||||
unique_checks OFF
|
||||
# INSERT INTO t1 VALUES(2)
|
||||
# foreign_key_checks=1 and unique_checks=1
|
||||
# It should not change current session's variables, even error happens
|
||||
BINLOG '
|
||||
dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
|
||||
dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
|
||||
';
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1
|
||||
2
|
||||
# Their values should be OFF
|
||||
SHOW SESSION VARIABLES LIKE "%_checks";
|
||||
Variable_name Value
|
||||
foreign_key_checks OFF
|
||||
unique_checks OFF
|
||||
DROP TABLE t1;
|
||||
|
66
mysql-test/suite/binlog/r/binlog_stm_cache_stat.result
Normal file
66
mysql-test/suite/binlog/r/binlog_stm_cache_stat.result
Normal file
@@ -0,0 +1,66 @@
|
||||
drop table if exists t1, t2;
|
||||
create table t1 (a int) engine=innodb;
|
||||
create table t2 (a int) engine=myisam;
|
||||
**** Preparing the enviroment to check commit and its effect on status variables.
|
||||
**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
flush status;
|
||||
**** Transactional changes which are long enough so they will be flushed to disk...
|
||||
**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
**** Transactional changes which should not be flushed to disk and so should not
|
||||
**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t1 values( 1 );
|
||||
commit;
|
||||
**** Non-Transactional changes which should not be flushed to disk and so should not
|
||||
**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 1, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t2 values( 1 );
|
||||
commit;
|
||||
**** Mixed changes which should not be flushed to disk and so should not
|
||||
**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
**** Expected: binlog_cache_use = 3, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 2, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t1 values( 1 );
|
||||
insert into t2 values( 1 );
|
||||
commit;
|
||||
**** Preparing the enviroment to check abort and its effect on the status variables.
|
||||
**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
flush status;
|
||||
**** Transactional changes which are long enough so they will be flushed to disk...
|
||||
**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
**** Transactional changes which should not be flushed to disk and so should not
|
||||
**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t1 values( 1 );
|
||||
rollback;
|
||||
**** Non-Transactional changes which should not be flushed to disk and so should not
|
||||
**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 1, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t2 values( 1 );
|
||||
rollback;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
**** Mixed changes which should not be flushed to disk and so should not
|
||||
**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
|
||||
**** Expected: binlog_cache_use = 3, binlog_cache_disk_use = 1.
|
||||
**** Expected: binlog_stmt_cache_use = 2, binlog_stmt_cache_disk_use = 0.
|
||||
begin;
|
||||
insert into t1 values( 1 );
|
||||
insert into t2 values( 1 );
|
||||
rollback;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
drop table t1, t2;
|
@@ -1,25 +0,0 @@
|
||||
flush status;
|
||||
show status like "binlog_cache_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_use 0
|
||||
show status like "binlog_cache_disk_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_disk_use 0
|
||||
drop table if exists t1;
|
||||
create table t1 (a int) engine=innodb;
|
||||
show status like "binlog_cache_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_use 2
|
||||
show status like "binlog_cache_disk_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_disk_use 1
|
||||
begin;
|
||||
delete from t1;
|
||||
commit;
|
||||
show status like "binlog_cache_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_use 4
|
||||
show status like "binlog_cache_disk_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_disk_use 1
|
||||
drop table t1;
|
@@ -10,9 +10,12 @@ call mtr.add_suppression('Attempting backtrace');
|
||||
call mtr.add_suppression('MSYQL_BIN_LOG::purge_logs failed to process registered files that would be purged.');
|
||||
call mtr.add_suppression('MSYQL_BIN_LOG::open failed to sync the index file');
|
||||
call mtr.add_suppression('Turning logging off for the whole duration of the MySQL server process.');
|
||||
call mtr.add_suppression('Could not open .*');
|
||||
call mtr.add_suppression('MSYQL_BIN_LOG::purge_logs failed to clean registers before purging logs.');
|
||||
let $old=`select @@debug`;
|
||||
|
||||
RESET MASTER;
|
||||
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
let $INDEX=$MYSQLD_DATADIR/master-bin.index;
|
||||
|
||||
@@ -205,12 +208,26 @@ SELECT @index;
|
||||
--echo # This should put the server in unsafe state and stop
|
||||
--echo # accepting any command. If we inject a fault at this
|
||||
--echo # point and continue the execution the server crashes.
|
||||
--echo # Besides the flush command does not report an error.
|
||||
--echo #
|
||||
|
||||
--chmod 0644 $INDEX
|
||||
-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
-- eval SET @index=LOAD_FILE('$index')
|
||||
-- replace_regex /\.[\\\/]master/master/
|
||||
SELECT @index;
|
||||
|
||||
--echo # fault_injection_registering_index
|
||||
SET SESSION debug="+d,fault_injection_registering_index";
|
||||
-- replace_regex /\.[\\\/]master/master/
|
||||
-- error ER_CANT_OPEN_FILE
|
||||
flush logs;
|
||||
|
||||
--chmod 0644 $INDEX
|
||||
-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
-- eval SET @index=LOAD_FILE('$index')
|
||||
-- replace_regex /\.[\\\/]master/master/
|
||||
SELECT @index;
|
||||
|
||||
--source include/restart_mysqld.inc
|
||||
|
||||
--chmod 0644 $INDEX
|
||||
@@ -221,7 +238,16 @@ SELECT @index;
|
||||
|
||||
--echo # fault_injection_updating_index
|
||||
SET SESSION debug="+d,fault_injection_updating_index";
|
||||
-- replace_regex /\.[\\\/]master/master/
|
||||
-- error ER_CANT_OPEN_FILE
|
||||
flush logs;
|
||||
|
||||
--chmod 0644 $INDEX
|
||||
-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
-- eval SET @index=LOAD_FILE('$index')
|
||||
-- replace_regex /\.[\\\/]master/master/
|
||||
SELECT @index;
|
||||
|
||||
--source include/restart_mysqld.inc
|
||||
|
||||
--chmod 0644 $INDEX
|
||||
|
@@ -58,7 +58,8 @@ EOF
|
||||
# Assertion
|
||||
###########
|
||||
|
||||
# assertion: should throw warning
|
||||
# assertion: should raise error
|
||||
-- error ER_NO_UNIQUE_LOGFILE
|
||||
FLUSH LOGS;
|
||||
|
||||
##############
|
||||
|
@@ -2,4 +2,4 @@
|
||||
# For both statement and row based bin logs 9/19/2005 [jbm]
|
||||
|
||||
-- source include/have_binlog_format_mixed.inc
|
||||
-- source extra/binlog_tests/innodb_stat.test
|
||||
-- source extra/binlog_tests/binlog_cache_stat.test
|
@@ -2,4 +2,4 @@
|
||||
# For both statement and row based bin logs 9/19/2005 [jbm]
|
||||
|
||||
-- source include/have_binlog_format_row.inc
|
||||
-- source extra/binlog_tests/innodb_stat.test
|
||||
-- source extra/binlog_tests/binlog_cache_stat.test
|
@@ -2,4 +2,4 @@
|
||||
# For both statement and row based bin logs 9/19/2005 [jbm]
|
||||
|
||||
-- source include/have_binlog_format_statement.inc
|
||||
-- source extra/binlog_tests/innodb_stat.test
|
||||
-- source extra/binlog_tests/binlog_cache_stat.test
|
67
mysql-test/suite/federated/federated_bug_35333.result
Normal file
67
mysql-test/suite/federated/federated_bug_35333.result
Normal file
@@ -0,0 +1,67 @@
|
||||
#
|
||||
# Bug 35333 "If a Federated table can't connect to the remote hose, can't retrieve metadata"
|
||||
#
|
||||
# Queries such as SHOW TABLE STATUS and SELECT * FROM INFORMATION_SCHEMA.TABLES fail
|
||||
# when encountering a federated table that cannot connect to its remote table.
|
||||
#
|
||||
# The fix is to store the error text in the TABLE COMMENTS column of I_S.TABLES, clear
|
||||
# the remote connection error and push a warning instead. This allows the SELECT operation
|
||||
# to complete while still indicating a problem. This fix applies to any non-fatal system
|
||||
# error that occurs during a query against I_S.TABLES.de
|
||||
CREATE DATABASE federated;
|
||||
CREATE DATABASE federated;
|
||||
CREATE DATABASE IF NOT EXISTS realdb;
|
||||
DROP TABLE IF EXISTS realdb.t0;
|
||||
DROP TABLE IF EXISTS federated.t0;
|
||||
#
|
||||
# Create the base table to be referenced
|
||||
#
|
||||
CREATE TABLE realdb.t0 (a text, b text) ENGINE=MYISAM;
|
||||
#
|
||||
# Create a federated table with a bogus port number
|
||||
#
|
||||
CREATE TABLE federated.t0 (a text, b text) ENGINE=FEDERATED
|
||||
CONNECTION='mysql://root@127.0.0.1:63333/realdb/t0';
|
||||
#
|
||||
# Trigger a federated system error during a INFORMATION_SCHEMA.TABLES query
|
||||
#
|
||||
SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE, ENGINE, ROW_FORMAT, TABLE_ROWS, DATA_LENGTH, TABLE_COMMENT
|
||||
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'realdb' or TABLE_SCHEMA = 'federated';
|
||||
TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE ROW_FORMAT TABLE_ROWS DATA_LENGTH TABLE_COMMENT
|
||||
federated t0 BASE TABLE FEDERATED NULL 0 Unable to connect to foreign data source: Can't connect to MySQL server on '127.0.0.1' (socket errno)
|
||||
realdb t0 BASE TABLE MyISAM Dynamic 0 0
|
||||
Warnings:
|
||||
Warning 1429 Unable to connect to foreign data source: Can't connect to MySQL server on '127.0.0.1' (socket errno)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1429 Unable to connect to foreign data source: Can't connect to MySQL server on '127.0.0.1' (socket errno)
|
||||
#
|
||||
# Create a MyISAM table then corrupt the file
|
||||
#
|
||||
USE realdb;
|
||||
CREATE TABLE t1 (c1 int) ENGINE=MYISAM;
|
||||
#
|
||||
# Corrupt the MyISAM table by deleting the base file
|
||||
#
|
||||
#
|
||||
# Trigger a MyISAM system error during an INFORMATION_SCHEMA.TABLES query
|
||||
#
|
||||
SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE, ENGINE, ROW_FORMAT, TABLE_ROWS, DATA_LENGTH, TABLE_COMMENT
|
||||
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
|
||||
TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE ROW_FORMAT TABLE_ROWS DATA_LENGTH TABLE_COMMENT
|
||||
realdb t1 BASE TABLE NULL NULL NULL NULL Can't find file: 't1' (errno: 2)
|
||||
Warnings:
|
||||
Warning 1017 Can't find file: 't1' (errno: 2)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1017 Can't find file: 't1' (errno: 2)
|
||||
#
|
||||
# Cleanup
|
||||
#
|
||||
DROP TABLE IF EXISTS realdb.t0;
|
||||
DROP TABLE IF EXISTS federated.t0;
|
||||
DROP DATABASE realdb;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE federated;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE federated;
|
74
mysql-test/suite/federated/federated_bug_35333.test
Normal file
74
mysql-test/suite/federated/federated_bug_35333.test
Normal file
@@ -0,0 +1,74 @@
|
||||
--echo #
|
||||
--echo # Bug 35333 "If a Federated table can't connect to the remote hose, can't retrieve metadata"
|
||||
--echo #
|
||||
--echo # Queries such as SHOW TABLE STATUS and SELECT * FROM INFORMATION_SCHEMA.TABLES fail
|
||||
--echo # when encountering a federated table that cannot connect to its remote table.
|
||||
--echo #
|
||||
--echo # The fix is to store the error text in the TABLE COMMENTS column of I_S.TABLES, clear
|
||||
--echo # the remote connection error and push a warning instead. This allows the SELECT operation
|
||||
--echo # to complete while still indicating a problem. This fix applies to any non-fatal system
|
||||
--echo # error that occurs during a query against I_S.TABLES.de
|
||||
|
||||
--source federated.inc
|
||||
|
||||
--disable_warnings
|
||||
CREATE DATABASE IF NOT EXISTS realdb;
|
||||
# Federated database exists
|
||||
DROP TABLE IF EXISTS realdb.t0;
|
||||
DROP TABLE IF EXISTS federated.t0;
|
||||
--enable_warnings
|
||||
|
||||
--echo #
|
||||
--echo # Create the base table to be referenced
|
||||
--echo #
|
||||
CREATE TABLE realdb.t0 (a text, b text) ENGINE=MYISAM;
|
||||
|
||||
--echo #
|
||||
--echo # Create a federated table with a bogus port number
|
||||
--echo #
|
||||
CREATE TABLE federated.t0 (a text, b text) ENGINE=FEDERATED
|
||||
CONNECTION='mysql://root@127.0.0.1:63333/realdb/t0';
|
||||
|
||||
#--warning ER_CONNECT_TO_FOREIGN_DATA_SOURCE
|
||||
|
||||
--echo #
|
||||
--echo # Trigger a federated system error during a INFORMATION_SCHEMA.TABLES query
|
||||
--echo #
|
||||
# Remove O/S-specific socket error
|
||||
--replace_regex /\(.*\)/(socket errno)/
|
||||
SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE, ENGINE, ROW_FORMAT, TABLE_ROWS, DATA_LENGTH, TABLE_COMMENT
|
||||
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'realdb' or TABLE_SCHEMA = 'federated';
|
||||
|
||||
# Remove O/S-specific socket error
|
||||
--replace_regex /\(.*\)/(socket errno)/
|
||||
SHOW WARNINGS;
|
||||
|
||||
--echo #
|
||||
--echo # Create a MyISAM table then corrupt the file
|
||||
--echo #
|
||||
USE realdb;
|
||||
CREATE TABLE t1 (c1 int) ENGINE=MYISAM;
|
||||
--echo #
|
||||
--echo # Corrupt the MyISAM table by deleting the base file
|
||||
--echo #
|
||||
let $MYSQLD_DATADIR= `SELECT @@datadir`;
|
||||
--remove_file $MYSQLD_DATADIR/realdb/t1.MYD
|
||||
--remove_file $MYSQLD_DATADIR/realdb/t1.MYI
|
||||
|
||||
--echo #
|
||||
--echo # Trigger a MyISAM system error during an INFORMATION_SCHEMA.TABLES query
|
||||
--echo #
|
||||
SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE, ENGINE, ROW_FORMAT, TABLE_ROWS, DATA_LENGTH, TABLE_COMMENT
|
||||
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
|
||||
|
||||
SHOW WARNINGS;
|
||||
--echo #
|
||||
--echo # Cleanup
|
||||
--echo #
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS realdb.t0;
|
||||
DROP TABLE IF EXISTS federated.t0;
|
||||
DROP DATABASE realdb;
|
||||
--enable_warnings
|
||||
|
||||
--source federated_cleanup.inc
|
@@ -471,17 +471,12 @@ SHOW VARIABLES LIKE "%auto_inc%";
|
||||
Variable_name Value
|
||||
auto_increment_increment 2
|
||||
auto_increment_offset 10
|
||||
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL),(NULL),(NULL);
|
||||
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL);
|
||||
ERROR HY000: Failed to read auto-increment value from storage engine
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1
|
||||
18446744073709551603
|
||||
18446744073709551604
|
||||
18446744073709551606
|
||||
18446744073709551608
|
||||
18446744073709551610
|
||||
18446744073709551612
|
||||
18446744073709551614
|
||||
DROP TABLE t1;
|
||||
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
|
||||
SET @@INSERT_ID=1;
|
||||
@@ -504,13 +499,12 @@ SHOW VARIABLES LIKE "%auto_inc%";
|
||||
Variable_name Value
|
||||
auto_increment_increment 5
|
||||
auto_increment_offset 7
|
||||
INSERT INTO t1 VALUES (NULL),(NULL);
|
||||
INSERT INTO t1 VALUES (NULL),(NULL), (NULL);
|
||||
ERROR HY000: Failed to read auto-increment value from storage engine
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1
|
||||
18446744073709551603
|
||||
18446744073709551607
|
||||
18446744073709551612
|
||||
DROP TABLE t1;
|
||||
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
|
||||
SET @@INSERT_ID=1;
|
||||
@@ -572,12 +566,12 @@ SHOW VARIABLES LIKE "%auto_inc%";
|
||||
Variable_name Value
|
||||
auto_increment_increment 65535
|
||||
auto_increment_offset 65535
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL),(NULL);
|
||||
ERROR 22003: Out of range value for column 't1' at row 167
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1
|
||||
18446744073709551610
|
||||
18446744073709551615
|
||||
DROP TABLE t1;
|
||||
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
|
||||
SET @@INSERT_ID=1;
|
||||
|
@@ -74,3 +74,11 @@ a b
|
||||
4 14
|
||||
5 15
|
||||
drop table bug38999_1,bug38999_2;
|
||||
#
|
||||
# Bug#54475 improper error handling causes cascading crashing failures in innodb/ndb
|
||||
#
|
||||
CREATE TABLE t1(f1 INT) ENGINE=INNODB;
|
||||
INSERT INTO t1 VALUES(1);
|
||||
UPDATE (SELECT ((SELECT 1 FROM t1), 1) FROM t1 WHERE (SELECT 1 FROM t1)) x, (SELECT 1) AS d SET d.f1 = 1;
|
||||
ERROR 21000: Operand should contain 1 column(s)
|
||||
DROP TABLE t1;
|
||||
|
@@ -293,21 +293,8 @@ INSERT INTO t1 VALUES (18446744073709551603); #-- 2^64 - 13
|
||||
SELECT * FROM t1;
|
||||
SET @@SESSION.AUTO_INCREMENT_INCREMENT=2, @@SESSION.AUTO_INCREMENT_OFFSET=10;
|
||||
SHOW VARIABLES LIKE "%auto_inc%";
|
||||
# This should fail because of overflow but it doesn't, it seems to be
|
||||
# a MySQL server bug. It wraps around to 0 for the last value.
|
||||
# See MySQL Bug# 39828
|
||||
#
|
||||
# Instead of wrapping around, it asserts when MySQL is compiled --with-debug
|
||||
# (see sql/handler.cc:handler::update_auto_increment()). Don't test for
|
||||
# overflow until Bug #39828 is fixed.
|
||||
#
|
||||
# Since this asserts when compiled --with-debug, we can't properly test this
|
||||
# until Bug #39828 is fixed. For now, this test is meaningless.
|
||||
#if Bug #39828 is fixed
|
||||
#INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL);
|
||||
#else
|
||||
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL),(NULL),(NULL);
|
||||
#endif
|
||||
--error ER_AUTOINC_READ_FAILED
|
||||
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL);
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
@@ -325,20 +312,8 @@ INSERT INTO t1 VALUES (18446744073709551603); #-- 2^64 - 13
|
||||
SELECT * FROM t1;
|
||||
SET @@SESSION.AUTO_INCREMENT_INCREMENT=5, @@SESSION.AUTO_INCREMENT_OFFSET=7;
|
||||
SHOW VARIABLES LIKE "%auto_inc%";
|
||||
# This should fail because of overflow but it doesn't. It fails with
|
||||
# a duplicate entry message because of a MySQL server bug, it wraps
|
||||
# around. See MySQL Bug# 39828, once MySQL fix the bug we can replace
|
||||
# the ER_DUP_ENTRY, 1062 below with the appropriate error message
|
||||
#
|
||||
# Since this asserts when compiled --with-debug, we can't properly test this
|
||||
# until Bug #39828 is fixed. For now, this test is meaningless.
|
||||
#if Bug #39828 is fixed
|
||||
# Still need to fix this error code, error should mention overflow
|
||||
#-- error ER_DUP_ENTRY,1062
|
||||
#INSERT INTO t1 VALUES (NULL),(NULL), (NULL);
|
||||
#else
|
||||
INSERT INTO t1 VALUES (NULL),(NULL);
|
||||
#endif
|
||||
--error ER_AUTOINC_READ_FAILED
|
||||
INSERT INTO t1 VALUES (NULL),(NULL), (NULL);
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
@@ -376,20 +351,8 @@ INSERT INTO t1 VALUES (18446744073709551610); #-- 2^64 - 2
|
||||
SELECT * FROM t1;
|
||||
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1152921504606846976, @@SESSION.AUTO_INCREMENT_OFFSET=1152921504606846976;
|
||||
SHOW VARIABLES LIKE "%auto_inc%";
|
||||
# This should fail because of overflow but it doesn't. It wraps around
|
||||
# and the autoinc values look bogus too.
|
||||
# See MySQL Bug# 39828, once MySQL fix the bug we can enable the error
|
||||
# code expected test.
|
||||
# -- error ER_AUTOINC_READ_FAILED,1467
|
||||
#
|
||||
# Since this asserts when compiled --with-debug, we can't properly test this
|
||||
# until Bug #39828 is fixed. For now, this test is meaningless.
|
||||
#if Bug #39828 is fixed
|
||||
#-- error ER_AUTOINC_READ_FAILED,1467
|
||||
#INSERT INTO t1 VALUES (NULL),(NULL);
|
||||
#else
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
#endif
|
||||
--error ER_WARN_DATA_OUT_OF_RANGE
|
||||
INSERT INTO t1 VALUES (NULL),(NULL);
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
@@ -27,3 +27,12 @@ select * from bug38999_1;
|
||||
select * from bug38999_2;
|
||||
|
||||
drop table bug38999_1,bug38999_2;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#54475 improper error handling causes cascading crashing failures in innodb/ndb
|
||||
--echo #
|
||||
CREATE TABLE t1(f1 INT) ENGINE=INNODB;
|
||||
INSERT INTO t1 VALUES(1);
|
||||
--error ER_OPERAND_COLUMNS
|
||||
UPDATE (SELECT ((SELECT 1 FROM t1), 1) FROM t1 WHERE (SELECT 1 FROM t1)) x, (SELECT 1) AS d SET d.f1 = 1;
|
||||
DROP TABLE t1;
|
||||
|
@@ -39,29 +39,6 @@ let $val3 = 17 ;
|
||||
let $val4 = 15 ;
|
||||
--source suite/parts/inc/partition_supported_sql_funcs.inc
|
||||
|
||||
|
||||
let $sqlfunc = ceiling(col1);
|
||||
let $valsqlfunc = ceiling(15);
|
||||
let $coltype = float(7,4);
|
||||
let $infile = part_supported_sql_funcs_int_float.inc;
|
||||
let $val1 = 5.1230;
|
||||
let $val2 = 13.345;
|
||||
let $val3 = 17.987;
|
||||
let $val4 = 15.654 ;
|
||||
# DISABLED due to bug 30577
|
||||
#--source suite/parts/inc/partition_supported_sql_funcs.inc
|
||||
|
||||
let $sqlfunc = floor(col1);
|
||||
let $valsqlfunc = floor(15.123);
|
||||
let $coltype = float(7,4);
|
||||
let $infile = part_supported_sql_funcs_int_float.inc;
|
||||
let $val1 = 5.1230;
|
||||
let $val2 = 13.345;
|
||||
let $val3 = 17.987;
|
||||
let $val4 = 15.654 ;
|
||||
# DISABLED due to bug 30577
|
||||
#--source suite/parts/inc/partition_supported_sql_funcs.inc
|
||||
|
||||
let $sqlfunc = mod(col1,10);
|
||||
let $valsqlfunc = mod(15,10);
|
||||
let $coltype = int;
|
||||
|
@@ -37,10 +37,8 @@ drop table t2;
|
||||
|
||||
# Bug 30577: FLOOR() and CEILING() not usable as partition functions
|
||||
# Partition functions are required to return INT_RESULT; FLOOR() and
|
||||
# CEILING() do not, unless they have an INT argument. Disable this
|
||||
# portion of the test until bug 30577 is fixed.
|
||||
# CEILING() do not, unless they have an INT or DECIMAL argument.
|
||||
|
||||
--disable_parsing
|
||||
|
||||
eval create table t3 (a decimal(18,9) not null, primary key(a)) engine=$engine
|
||||
partition by range (floor(a)) subpartition by key (a) subpartitions 2 (
|
||||
@@ -65,7 +63,7 @@ select count(*) from t3;
|
||||
drop table t3;
|
||||
|
||||
eval create table t4 (a decimal(18,9) not null, primary key(a)) engine=$engine
|
||||
partition by list (floor(a)) subpartition by key (a) subpartitions 2 (
|
||||
partition by list (ceiling(a)) subpartition by key (a) subpartitions 2 (
|
||||
partition pa2 values in (1,2),
|
||||
partition pa4 values in (3,4),
|
||||
partition pa6 values in (5,6),
|
||||
@@ -85,6 +83,3 @@ dec $count;
|
||||
--enable_query_log
|
||||
select count(*) from t4;
|
||||
drop table t4;
|
||||
|
||||
# Disabled due to Bug 30577
|
||||
--enable_parsing
|
||||
|
@@ -34,54 +34,3 @@ dec $count;
|
||||
--enable_query_log
|
||||
select count(*) from t2;
|
||||
drop table t2;
|
||||
|
||||
|
||||
# Bug 30577: FLOOR() and CEILING() not usable as partition functions
|
||||
# Partition functions are required to return INT_RESULT; FLOOR() and
|
||||
# CEILING() do not, unless they have an INT argument. Disable this
|
||||
# portion of the test until bug 30577 is fixed.
|
||||
|
||||
--disable_parsing
|
||||
|
||||
eval create table t3 (a double not null, primary key(a)) engine=$engine
|
||||
partition by range (floor(a)) subpartition by key (a) subpartitions 3 (
|
||||
partition pa1 values less than (3),
|
||||
partition pa3 values less than (6),
|
||||
partition pa10 values less than (10)
|
||||
);
|
||||
show create table t3;
|
||||
let $count=9;
|
||||
--echo $count*3 inserts;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t3 values ($count);
|
||||
eval insert into t3 values ($count+0.33);
|
||||
eval insert into t3 values ($count+0.75);
|
||||
dec $count;
|
||||
}
|
||||
select count(*) from t3;
|
||||
select * from t3;
|
||||
drop table t3;
|
||||
|
||||
eval create table t4 (a double not null, primary key(a)) engine=$engine
|
||||
partition by list (floor(a)) subpartition by key (a) subpartitions 3 (
|
||||
partition pa1 values in (1,2,3),
|
||||
partition pa3 values in (4,5,6),
|
||||
partition pa10 values in (7,8,9,10)
|
||||
);
|
||||
show create table t4;
|
||||
let $count=9;
|
||||
--echo $count*3 inserts;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t4 values ($count);
|
||||
eval insert into t4 values ($count+0.33);
|
||||
eval insert into t4 values ($count+0.75);
|
||||
dec $count;
|
||||
}
|
||||
select count(*) from t4;
|
||||
select * from t4;
|
||||
drop table t4;
|
||||
|
||||
# Disabled due to Bug 30577
|
||||
--enable_parsing
|
||||
|
@@ -38,53 +38,3 @@ dec $count;
|
||||
--enable_query_log
|
||||
select count(*) from t2;
|
||||
drop table t2;
|
||||
|
||||
# Bug 30577: FLOOR() and CEILING() not usable as partition functions
|
||||
# Partition functions are required to return INT_RESULT; FLOOR() and
|
||||
# CEILING() do not, unless they have an INT argument. Disable this
|
||||
# portion of the test until bug 30577 is fixed.
|
||||
|
||||
--disable_parsing
|
||||
|
||||
eval create table t3 (a float not null, primary key(a)) engine=$engine
|
||||
partition by range (floor(a)) subpartition by key (a) subpartitions 3 (
|
||||
partition pa1 values less than (3),
|
||||
partition pa3 values less than (6),
|
||||
partition pa10 values less than (10)
|
||||
);
|
||||
show create table t3;
|
||||
let $count=9;
|
||||
--echo $count*3 inserts;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t3 values ($count);
|
||||
eval insert into t3 values ($count+0.33);
|
||||
eval insert into t3 values ($count+0.75);
|
||||
dec $count;
|
||||
}
|
||||
select count(*) from t3;
|
||||
select * from t3;
|
||||
drop table t3;
|
||||
|
||||
eval create table t4 (a float not null, primary key(a)) engine=$engine
|
||||
partition by list (floor(a)) subpartition by key (a) subpartitions 3 (
|
||||
partition pa1 values in (1,2,3),
|
||||
partition pa3 values in (4,5,6),
|
||||
partition pa10 values in (7,8,9,10)
|
||||
);
|
||||
show create table t4;
|
||||
let $count=9;
|
||||
--echo $count*3 inserts;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t4 values ($count);
|
||||
eval insert into t4 values ($count+0.33);
|
||||
eval insert into t4 values ($count+0.75);
|
||||
dec $count;
|
||||
}
|
||||
select count(*) from t4;
|
||||
select * from t4;
|
||||
drop table t4;
|
||||
|
||||
# Disabled due to Bug 30577
|
||||
--enable_parsing
|
||||
|
@@ -86,3 +86,111 @@ select count(*) from t2;
|
||||
count(*)
|
||||
3072
|
||||
drop table t2;
|
||||
create table t3 (a decimal(18,9) not null, primary key(a)) engine='InnoDB'
|
||||
partition by range (floor(a)) subpartition by key (a) subpartitions 2 (
|
||||
partition pa2 values less than (2),
|
||||
partition pa4 values less than (4),
|
||||
partition pa6 values less than (6),
|
||||
partition pa8 values less than (8),
|
||||
partition pa10 values less than (10)
|
||||
);
|
||||
show create table t3;
|
||||
Table Create Table
|
||||
t3 CREATE TABLE `t3` (
|
||||
`a` decimal(18,9) NOT NULL,
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY RANGE (floor(a))
|
||||
SUBPARTITION BY KEY (a)
|
||||
SUBPARTITIONS 2
|
||||
(PARTITION pa2 VALUES LESS THAN (2) ENGINE = InnoDB,
|
||||
PARTITION pa4 VALUES LESS THAN (4) ENGINE = InnoDB,
|
||||
PARTITION pa6 VALUES LESS THAN (6) ENGINE = InnoDB,
|
||||
PARTITION pa8 VALUES LESS THAN (8) ENGINE = InnoDB,
|
||||
PARTITION pa10 VALUES LESS THAN (10) ENGINE = InnoDB) */
|
||||
9*3 inserts;
|
||||
insert into t3 values (9);
|
||||
insert into t3 values (9+0.333333333);
|
||||
insert into t3 values (9+0.755555555);
|
||||
insert into t3 values (8);
|
||||
insert into t3 values (8+0.333333333);
|
||||
insert into t3 values (8+0.755555555);
|
||||
insert into t3 values (7);
|
||||
insert into t3 values (7+0.333333333);
|
||||
insert into t3 values (7+0.755555555);
|
||||
insert into t3 values (6);
|
||||
insert into t3 values (6+0.333333333);
|
||||
insert into t3 values (6+0.755555555);
|
||||
insert into t3 values (5);
|
||||
insert into t3 values (5+0.333333333);
|
||||
insert into t3 values (5+0.755555555);
|
||||
insert into t3 values (4);
|
||||
insert into t3 values (4+0.333333333);
|
||||
insert into t3 values (4+0.755555555);
|
||||
insert into t3 values (3);
|
||||
insert into t3 values (3+0.333333333);
|
||||
insert into t3 values (3+0.755555555);
|
||||
insert into t3 values (2);
|
||||
insert into t3 values (2+0.333333333);
|
||||
insert into t3 values (2+0.755555555);
|
||||
insert into t3 values (1);
|
||||
insert into t3 values (1+0.333333333);
|
||||
insert into t3 values (1+0.755555555);
|
||||
select count(*) from t3;
|
||||
count(*)
|
||||
27
|
||||
drop table t3;
|
||||
create table t4 (a decimal(18,9) not null, primary key(a)) engine='InnoDB'
|
||||
partition by list (ceiling(a)) subpartition by key (a) subpartitions 2 (
|
||||
partition pa2 values in (1,2),
|
||||
partition pa4 values in (3,4),
|
||||
partition pa6 values in (5,6),
|
||||
partition pa8 values in (7,8),
|
||||
partition pa10 values in (9,10)
|
||||
);
|
||||
show create table t4;
|
||||
Table Create Table
|
||||
t4 CREATE TABLE `t4` (
|
||||
`a` decimal(18,9) NOT NULL,
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY LIST (ceiling(a))
|
||||
SUBPARTITION BY KEY (a)
|
||||
SUBPARTITIONS 2
|
||||
(PARTITION pa2 VALUES IN (1,2) ENGINE = InnoDB,
|
||||
PARTITION pa4 VALUES IN (3,4) ENGINE = InnoDB,
|
||||
PARTITION pa6 VALUES IN (5,6) ENGINE = InnoDB,
|
||||
PARTITION pa8 VALUES IN (7,8) ENGINE = InnoDB,
|
||||
PARTITION pa10 VALUES IN (9,10) ENGINE = InnoDB) */
|
||||
9*3 inserts;
|
||||
insert into t4 values (9);
|
||||
insert into t4 values (9+0.333333333);
|
||||
insert into t4 values (9+0.755555555);
|
||||
insert into t4 values (8);
|
||||
insert into t4 values (8+0.333333333);
|
||||
insert into t4 values (8+0.755555555);
|
||||
insert into t4 values (7);
|
||||
insert into t4 values (7+0.333333333);
|
||||
insert into t4 values (7+0.755555555);
|
||||
insert into t4 values (6);
|
||||
insert into t4 values (6+0.333333333);
|
||||
insert into t4 values (6+0.755555555);
|
||||
insert into t4 values (5);
|
||||
insert into t4 values (5+0.333333333);
|
||||
insert into t4 values (5+0.755555555);
|
||||
insert into t4 values (4);
|
||||
insert into t4 values (4+0.333333333);
|
||||
insert into t4 values (4+0.755555555);
|
||||
insert into t4 values (3);
|
||||
insert into t4 values (3+0.333333333);
|
||||
insert into t4 values (3+0.755555555);
|
||||
insert into t4 values (2);
|
||||
insert into t4 values (2+0.333333333);
|
||||
insert into t4 values (2+0.755555555);
|
||||
insert into t4 values (1);
|
||||
insert into t4 values (1+0.333333333);
|
||||
insert into t4 values (1+0.755555555);
|
||||
select count(*) from t4;
|
||||
count(*)
|
||||
27
|
||||
drop table t4;
|
||||
|
@@ -86,3 +86,111 @@ select count(*) from t2;
|
||||
count(*)
|
||||
196605
|
||||
drop table t2;
|
||||
create table t3 (a decimal(18,9) not null, primary key(a)) engine='MYISAM'
|
||||
partition by range (floor(a)) subpartition by key (a) subpartitions 2 (
|
||||
partition pa2 values less than (2),
|
||||
partition pa4 values less than (4),
|
||||
partition pa6 values less than (6),
|
||||
partition pa8 values less than (8),
|
||||
partition pa10 values less than (10)
|
||||
);
|
||||
show create table t3;
|
||||
Table Create Table
|
||||
t3 CREATE TABLE `t3` (
|
||||
`a` decimal(18,9) NOT NULL,
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY RANGE (floor(a))
|
||||
SUBPARTITION BY KEY (a)
|
||||
SUBPARTITIONS 2
|
||||
(PARTITION pa2 VALUES LESS THAN (2) ENGINE = MyISAM,
|
||||
PARTITION pa4 VALUES LESS THAN (4) ENGINE = MyISAM,
|
||||
PARTITION pa6 VALUES LESS THAN (6) ENGINE = MyISAM,
|
||||
PARTITION pa8 VALUES LESS THAN (8) ENGINE = MyISAM,
|
||||
PARTITION pa10 VALUES LESS THAN (10) ENGINE = MyISAM) */
|
||||
9*3 inserts;
|
||||
insert into t3 values (9);
|
||||
insert into t3 values (9+0.333333333);
|
||||
insert into t3 values (9+0.755555555);
|
||||
insert into t3 values (8);
|
||||
insert into t3 values (8+0.333333333);
|
||||
insert into t3 values (8+0.755555555);
|
||||
insert into t3 values (7);
|
||||
insert into t3 values (7+0.333333333);
|
||||
insert into t3 values (7+0.755555555);
|
||||
insert into t3 values (6);
|
||||
insert into t3 values (6+0.333333333);
|
||||
insert into t3 values (6+0.755555555);
|
||||
insert into t3 values (5);
|
||||
insert into t3 values (5+0.333333333);
|
||||
insert into t3 values (5+0.755555555);
|
||||
insert into t3 values (4);
|
||||
insert into t3 values (4+0.333333333);
|
||||
insert into t3 values (4+0.755555555);
|
||||
insert into t3 values (3);
|
||||
insert into t3 values (3+0.333333333);
|
||||
insert into t3 values (3+0.755555555);
|
||||
insert into t3 values (2);
|
||||
insert into t3 values (2+0.333333333);
|
||||
insert into t3 values (2+0.755555555);
|
||||
insert into t3 values (1);
|
||||
insert into t3 values (1+0.333333333);
|
||||
insert into t3 values (1+0.755555555);
|
||||
select count(*) from t3;
|
||||
count(*)
|
||||
27
|
||||
drop table t3;
|
||||
create table t4 (a decimal(18,9) not null, primary key(a)) engine='MYISAM'
|
||||
partition by list (ceiling(a)) subpartition by key (a) subpartitions 2 (
|
||||
partition pa2 values in (1,2),
|
||||
partition pa4 values in (3,4),
|
||||
partition pa6 values in (5,6),
|
||||
partition pa8 values in (7,8),
|
||||
partition pa10 values in (9,10)
|
||||
);
|
||||
show create table t4;
|
||||
Table Create Table
|
||||
t4 CREATE TABLE `t4` (
|
||||
`a` decimal(18,9) NOT NULL,
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY LIST (ceiling(a))
|
||||
SUBPARTITION BY KEY (a)
|
||||
SUBPARTITIONS 2
|
||||
(PARTITION pa2 VALUES IN (1,2) ENGINE = MyISAM,
|
||||
PARTITION pa4 VALUES IN (3,4) ENGINE = MyISAM,
|
||||
PARTITION pa6 VALUES IN (5,6) ENGINE = MyISAM,
|
||||
PARTITION pa8 VALUES IN (7,8) ENGINE = MyISAM,
|
||||
PARTITION pa10 VALUES IN (9,10) ENGINE = MyISAM) */
|
||||
9*3 inserts;
|
||||
insert into t4 values (9);
|
||||
insert into t4 values (9+0.333333333);
|
||||
insert into t4 values (9+0.755555555);
|
||||
insert into t4 values (8);
|
||||
insert into t4 values (8+0.333333333);
|
||||
insert into t4 values (8+0.755555555);
|
||||
insert into t4 values (7);
|
||||
insert into t4 values (7+0.333333333);
|
||||
insert into t4 values (7+0.755555555);
|
||||
insert into t4 values (6);
|
||||
insert into t4 values (6+0.333333333);
|
||||
insert into t4 values (6+0.755555555);
|
||||
insert into t4 values (5);
|
||||
insert into t4 values (5+0.333333333);
|
||||
insert into t4 values (5+0.755555555);
|
||||
insert into t4 values (4);
|
||||
insert into t4 values (4+0.333333333);
|
||||
insert into t4 values (4+0.755555555);
|
||||
insert into t4 values (3);
|
||||
insert into t4 values (3+0.333333333);
|
||||
insert into t4 values (3+0.755555555);
|
||||
insert into t4 values (2);
|
||||
insert into t4 values (2+0.333333333);
|
||||
insert into t4 values (2+0.755555555);
|
||||
insert into t4 values (1);
|
||||
insert into t4 values (1+0.333333333);
|
||||
insert into t4 values (1+0.755555555);
|
||||
select count(*) from t4;
|
||||
count(*)
|
||||
27
|
||||
drop table t4;
|
||||
|
@@ -100,16 +100,16 @@ create trigger performance_schema.bi_file_instances
|
||||
before insert on performance_schema.file_instances
|
||||
for each row begin end;
|
||||
|
||||
--error ER_WRONG_PERFSCHEMA_USAGE
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
|
||||
|
||||
--error ER_WRONG_PERFSCHEMA_USAGE
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table test.t1 like performance_schema.setup_instruments;
|
||||
|
||||
--error ER_WRONG_PERFSCHEMA_USAGE
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table test.t1 like performance_schema.events_waits_current;
|
||||
|
||||
--error ER_WRONG_PERFSCHEMA_USAGE
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table test.t1 like performance_schema.file_instances;
|
||||
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
|
@@ -1,9 +1,6 @@
|
||||
select * from performance_schema.cond_instances limit 1;
|
||||
NAME OBJECT_INSTANCE_BEGIN
|
||||
# #
|
||||
select * from performance_schema.cond_instances
|
||||
where name='FOO';
|
||||
NAME OBJECT_INSTANCE_BEGIN
|
||||
insert into performance_schema.cond_instances
|
||||
set name='FOO', object_instance_begin=12;
|
||||
ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'cond_instances'
|
||||
|
@@ -1,10 +1,7 @@
|
||||
select * from performance_schema.events_waits_current
|
||||
where event_name like 'Wait/Synch/%' limit 1;
|
||||
THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
|
||||
# # # # # # # # NULL NULL NULL # NULL # NULL 0
|
||||
select * from performance_schema.events_waits_current
|
||||
where event_name='FOO';
|
||||
THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
|
||||
insert into performance_schema.events_waits_current
|
||||
set thread_id='1', event_id=1,
|
||||
event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
|
||||
|
@@ -1,18 +1,11 @@
|
||||
select * from performance_schema.events_waits_history
|
||||
where event_name like 'Wait/Synch/%' limit 1;
|
||||
THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
|
||||
# # # # # # # # NULL NULL NULL # NULL # NULL 0
|
||||
select * from performance_schema.events_waits_history
|
||||
where event_name='FOO';
|
||||
THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
|
||||
select * from performance_schema.events_waits_history
|
||||
where event_name like 'Wait/Synch/%' order by timer_wait limit 1;
|
||||
THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
|
||||
# # # # # # # # NULL NULL NULL # NULL # NULL 0
|
||||
select * from performance_schema.events_waits_history
|
||||
where event_name like 'Wait/Synch/%' order by timer_wait desc limit 1;
|
||||
THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
|
||||
# # # # # # # # NULL NULL NULL # NULL # NULL 0
|
||||
insert into performance_schema.events_waits_history
|
||||
set thread_id='1', event_id=1,
|
||||
event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
|
||||
|
@@ -1,18 +1,11 @@
|
||||
select * from performance_schema.events_waits_history_long
|
||||
where event_name like 'Wait/Synch/%' limit 1;
|
||||
THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
|
||||
# # # # # # # # NULL NULL NULL # NULL # NULL 0
|
||||
select * from performance_schema.events_waits_history_long
|
||||
where event_name='FOO';
|
||||
THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
|
||||
select * from performance_schema.events_waits_history_long
|
||||
where event_name like 'Wait/Synch/%' order by timer_wait limit 1;
|
||||
THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
|
||||
# # # # # # # # NULL NULL NULL # NULL # NULL 0
|
||||
select * from performance_schema.events_waits_history_long
|
||||
where event_name like 'Wait/Synch/%' order by timer_wait desc limit 1;
|
||||
THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
|
||||
# # # # # # # # NULL NULL NULL # NULL # NULL 0
|
||||
insert into performance_schema.events_waits_history_long
|
||||
set thread_id='1', event_id=1,
|
||||
event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
|
||||
|
@@ -1,26 +1,15 @@
|
||||
select * from performance_schema.events_waits_summary_by_instance
|
||||
where event_name like 'Wait/Synch/%' limit 1;
|
||||
EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
|
||||
# # # # # # #
|
||||
select * from performance_schema.events_waits_summary_by_instance
|
||||
where event_name='FOO';
|
||||
EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
|
||||
select * from performance_schema.events_waits_summary_by_instance
|
||||
order by count_star limit 1;
|
||||
EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
|
||||
# # # # # # #
|
||||
select * from performance_schema.events_waits_summary_by_instance
|
||||
order by count_star desc limit 1;
|
||||
EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
|
||||
# # # # # # #
|
||||
select * from performance_schema.events_waits_summary_by_instance
|
||||
where min_timer_wait > 0 order by count_star limit 1;
|
||||
EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
|
||||
# # # # # # #
|
||||
select * from performance_schema.events_waits_summary_by_instance
|
||||
where min_timer_wait > 0 order by count_star desc limit 1;
|
||||
EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
|
||||
# # # # # # #
|
||||
insert into performance_schema.events_waits_summary_by_instance
|
||||
set event_name='FOO', object_instance_begin=0,
|
||||
count_star=1, sum_timer_wait=2, min_timer_wait=3,
|
||||
|
@@ -1,10 +1,7 @@
|
||||
select * from performance_schema.events_waits_summary_by_thread_by_event_name
|
||||
where event_name like 'Wait/Synch/%' limit 1;
|
||||
THREAD_ID EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
|
||||
# # # # # # #
|
||||
select * from performance_schema.events_waits_summary_by_thread_by_event_name
|
||||
where event_name='FOO';
|
||||
THREAD_ID EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
|
||||
insert into performance_schema.events_waits_summary_by_thread_by_event_name
|
||||
set event_name='FOO', thread_id=1,
|
||||
count_star=1, sum_timer_wait=2, min_timer_wait=3,
|
||||
|
@@ -1,10 +1,7 @@
|
||||
select * from performance_schema.events_waits_summary_global_by_event_name
|
||||
where event_name like 'Wait/Synch/%' limit 1;
|
||||
EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
|
||||
# # # # # #
|
||||
select * from performance_schema.events_waits_summary_global_by_event_name
|
||||
where event_name='FOO';
|
||||
EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
|
||||
insert into performance_schema.events_waits_summary_global_by_event_name
|
||||
set event_name='FOO', count_star=1, sum_timer_wait=2, min_timer_wait=3,
|
||||
avg_timer_wait=4, max_timer_wait=5;
|
||||
|
@@ -1,9 +1,6 @@
|
||||
select * from performance_schema.file_instances limit 1;
|
||||
FILE_NAME EVENT_NAME OPEN_COUNT
|
||||
# # #
|
||||
select * from performance_schema.file_instances
|
||||
where file_name='FOO';
|
||||
FILE_NAME EVENT_NAME OPEN_COUNT
|
||||
insert into performance_schema.file_instances
|
||||
set file_name='FOO', event_name='BAR', open_count=12;
|
||||
ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'file_instances'
|
||||
|
@@ -1,10 +1,7 @@
|
||||
select * from performance_schema.file_summary_by_event_name
|
||||
where event_name like 'Wait/io/%' limit 1;
|
||||
EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
|
||||
# # # # #
|
||||
select * from performance_schema.file_summary_by_event_name
|
||||
where event_name='FOO';
|
||||
EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
|
||||
insert into performance_schema.file_summary_by_event_name
|
||||
set event_name='FOO', count_read=1, count_write=2,
|
||||
sum_number_of_bytes_read=4, sum_number_of_bytes_write=5;
|
||||
|
@@ -1,10 +1,7 @@
|
||||
select * from performance_schema.file_summary_by_instance
|
||||
where event_name like 'Wait/io/%' limit 1;
|
||||
FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
|
||||
# # # # # #
|
||||
select * from performance_schema.file_summary_by_instance
|
||||
where event_name='FOO';
|
||||
FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
|
||||
insert into performance_schema.file_summary_by_instance
|
||||
set event_name='FOO', count_read=1, count_write=2,
|
||||
sum_number_of_bytes_read=4, sum_number_of_bytes_write=5;
|
||||
|
@@ -1,9 +1,6 @@
|
||||
select * from performance_schema.mutex_instances limit 1;
|
||||
NAME OBJECT_INSTANCE_BEGIN LOCKED_BY_THREAD_ID
|
||||
# # #
|
||||
select * from performance_schema.mutex_instances
|
||||
where name='FOO';
|
||||
NAME OBJECT_INSTANCE_BEGIN LOCKED_BY_THREAD_ID
|
||||
insert into performance_schema.mutex_instances
|
||||
set name='FOO', object_instance_begin=12;
|
||||
ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'mutex_instances'
|
||||
|
@@ -1,9 +1,6 @@
|
||||
select * from performance_schema.rwlock_instances limit 1;
|
||||
NAME OBJECT_INSTANCE_BEGIN WRITE_LOCKED_BY_THREAD_ID READ_LOCKED_BY_COUNT
|
||||
# # # #
|
||||
select * from performance_schema.rwlock_instances
|
||||
where name='FOO';
|
||||
NAME OBJECT_INSTANCE_BEGIN WRITE_LOCKED_BY_THREAD_ID READ_LOCKED_BY_COUNT
|
||||
insert into performance_schema.rwlock_instances
|
||||
set name='FOO', object_instance_begin=12;
|
||||
ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'rwlock_instances'
|
||||
|
@@ -1,10 +1,7 @@
|
||||
select * from performance_schema.threads
|
||||
where name like 'Thread/%' limit 1;
|
||||
THREAD_ID PROCESSLIST_ID NAME
|
||||
# # #
|
||||
select * from performance_schema.threads
|
||||
where name='FOO';
|
||||
THREAD_ID PROCESSLIST_ID NAME
|
||||
insert into performance_schema.threads
|
||||
set name='FOO', thread_id=1, processlist_id=2;
|
||||
ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'threads'
|
||||
|
@@ -6,9 +6,9 @@ AND EVENT_NAME IN
|
||||
WHERE NAME LIKE "wait/synch/%")
|
||||
LIMIT 1;
|
||||
create table test.t1(a int) engine=performance_schema;
|
||||
ERROR HY000: Invalid performance_schema usage.
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
create table test.t1 like performance_schema.events_waits_current;
|
||||
ERROR HY000: Invalid performance_schema usage.
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
create table performance_schema.t1(a int);
|
||||
ERROR 42000: CREATE command denied to user 'root'@'localhost' for table 't1'
|
||||
drop table if exists test.ghost;
|
||||
|
@@ -16,6 +16,7 @@ operation, number_of_bytes,
|
||||
substring(object_name, locate("no_index_tab", object_name)) as short_name
|
||||
from performance_schema.events_waits_history_long
|
||||
where operation not like "tell"
|
||||
and event_name like "wait/io/file/myisam/%"
|
||||
order by thread_id, event_id;
|
||||
event_name short_source operation number_of_bytes short_name
|
||||
wait/io/file/myisam/kfile mi_create.c: create NULL no_index_tab.MYI
|
||||
|
@@ -152,13 +152,13 @@ before insert on performance_schema.file_instances
|
||||
for each row begin end;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
|
||||
create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
|
||||
ERROR HY000: Invalid performance_schema usage.
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
create table test.t1 like performance_schema.setup_instruments;
|
||||
ERROR HY000: Invalid performance_schema usage.
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
create table test.t1 like performance_schema.events_waits_current;
|
||||
ERROR HY000: Invalid performance_schema usage.
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
create table test.t1 like performance_schema.file_instances;
|
||||
ERROR HY000: Invalid performance_schema usage.
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
insert into performance_schema.setup_instruments
|
||||
set name="foo";
|
||||
ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'setup_instruments'
|
||||
@@ -250,13 +250,13 @@ before insert on performance_schema.file_instances
|
||||
for each row begin end;
|
||||
ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
|
||||
create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
|
||||
ERROR HY000: Invalid performance_schema usage.
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
create table test.t1 like performance_schema.setup_instruments;
|
||||
ERROR HY000: Invalid performance_schema usage.
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
create table test.t1 like performance_schema.events_waits_current;
|
||||
ERROR HY000: Invalid performance_schema usage.
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
create table test.t1 like performance_schema.file_instances;
|
||||
ERROR HY000: Invalid performance_schema usage.
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
insert into performance_schema.setup_instruments
|
||||
set name="foo";
|
||||
ERROR 42000: INSERT command denied to user 'pfs_user_1'@'localhost' for table 'setup_instruments'
|
||||
@@ -348,13 +348,13 @@ before insert on performance_schema.file_instances
|
||||
for each row begin end;
|
||||
ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
|
||||
create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
|
||||
ERROR HY000: Invalid performance_schema usage.
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
create table test.t1 like performance_schema.setup_instruments;
|
||||
ERROR HY000: Invalid performance_schema usage.
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
create table test.t1 like performance_schema.events_waits_current;
|
||||
ERROR HY000: Invalid performance_schema usage.
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
create table test.t1 like performance_schema.file_instances;
|
||||
ERROR HY000: Invalid performance_schema usage.
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
insert into performance_schema.setup_instruments
|
||||
set name="foo";
|
||||
ERROR 42000: INSERT command denied to user 'pfs_user_2'@'localhost' for table 'setup_instruments'
|
||||
@@ -446,13 +446,13 @@ before insert on performance_schema.file_instances
|
||||
for each row begin end;
|
||||
ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
|
||||
create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
|
||||
ERROR HY000: Invalid performance_schema usage.
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
create table test.t1 like performance_schema.setup_instruments;
|
||||
ERROR HY000: Invalid performance_schema usage.
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
create table test.t1 like performance_schema.events_waits_current;
|
||||
ERROR HY000: Invalid performance_schema usage.
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
create table test.t1 like performance_schema.file_instances;
|
||||
ERROR HY000: Invalid performance_schema usage.
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
insert into performance_schema.setup_instruments
|
||||
set name="foo";
|
||||
ERROR 42000: INSERT command denied to user 'pfs_user_3'@'localhost' for table 'setup_instruments'
|
||||
|
@@ -1,3 +1,4 @@
|
||||
flush status;
|
||||
SET @saved_thread_cache_size = @@global.thread_cache_size;
|
||||
set global thread_cache_size = 0;
|
||||
show variables like "thread_cache_size";
|
||||
@@ -32,3 +33,7 @@ select @thread_id_increment;
|
||||
@thread_id_increment
|
||||
1
|
||||
set global thread_cache_size = @saved_thread_cache_size;
|
||||
show status like "performance_schema_thread%";
|
||||
Variable_name Value
|
||||
Performance_schema_thread_classes_lost 0
|
||||
Performance_schema_thread_instances_lost 0
|
||||
|
@@ -18,11 +18,12 @@
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_perfschema.inc
|
||||
|
||||
--replace_column 1 # 2 #
|
||||
--disable_result_log
|
||||
select * from performance_schema.cond_instances limit 1;
|
||||
|
||||
select * from performance_schema.cond_instances
|
||||
where name='FOO';
|
||||
--enable_result_log
|
||||
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
insert into performance_schema.cond_instances
|
||||
|
@@ -18,12 +18,13 @@
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_perfschema.inc
|
||||
|
||||
--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 12 # 14 #
|
||||
--disable_result_log
|
||||
select * from performance_schema.events_waits_current
|
||||
where event_name like 'Wait/Synch/%' limit 1;
|
||||
|
||||
select * from performance_schema.events_waits_current
|
||||
where event_name='FOO';
|
||||
--enable_result_log
|
||||
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
insert into performance_schema.events_waits_current
|
||||
|
@@ -18,20 +18,19 @@
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_perfschema.inc
|
||||
|
||||
--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 12 # 14 #
|
||||
--disable_result_log
|
||||
select * from performance_schema.events_waits_history
|
||||
where event_name like 'Wait/Synch/%' limit 1;
|
||||
|
||||
select * from performance_schema.events_waits_history
|
||||
where event_name='FOO';
|
||||
|
||||
--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 12 # 14 #
|
||||
select * from performance_schema.events_waits_history
|
||||
where event_name like 'Wait/Synch/%' order by timer_wait limit 1;
|
||||
|
||||
--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 12 # 14 #
|
||||
select * from performance_schema.events_waits_history
|
||||
where event_name like 'Wait/Synch/%' order by timer_wait desc limit 1;
|
||||
--enable_result_log
|
||||
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
insert into performance_schema.events_waits_history
|
||||
|
@@ -18,20 +18,19 @@
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_perfschema.inc
|
||||
|
||||
--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 12 # 14 #
|
||||
--disable_result_log
|
||||
select * from performance_schema.events_waits_history_long
|
||||
where event_name like 'Wait/Synch/%' limit 1;
|
||||
|
||||
select * from performance_schema.events_waits_history_long
|
||||
where event_name='FOO';
|
||||
|
||||
--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 12 # 14 #
|
||||
select * from performance_schema.events_waits_history_long
|
||||
where event_name like 'Wait/Synch/%' order by timer_wait limit 1;
|
||||
|
||||
--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 12 # 14 #
|
||||
select * from performance_schema.events_waits_history_long
|
||||
where event_name like 'Wait/Synch/%' order by timer_wait desc limit 1;
|
||||
--enable_result_log
|
||||
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
insert into performance_schema.events_waits_history_long
|
||||
|
@@ -18,28 +18,25 @@
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_perfschema.inc
|
||||
|
||||
--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 #
|
||||
--disable_result_log
|
||||
select * from performance_schema.events_waits_summary_by_instance
|
||||
where event_name like 'Wait/Synch/%' limit 1;
|
||||
|
||||
select * from performance_schema.events_waits_summary_by_instance
|
||||
where event_name='FOO';
|
||||
|
||||
--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 #
|
||||
select * from performance_schema.events_waits_summary_by_instance
|
||||
order by count_star limit 1;
|
||||
|
||||
--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 #
|
||||
select * from performance_schema.events_waits_summary_by_instance
|
||||
order by count_star desc limit 1;
|
||||
|
||||
--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 #
|
||||
select * from performance_schema.events_waits_summary_by_instance
|
||||
where min_timer_wait > 0 order by count_star limit 1;
|
||||
|
||||
--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 #
|
||||
select * from performance_schema.events_waits_summary_by_instance
|
||||
where min_timer_wait > 0 order by count_star desc limit 1;
|
||||
--enable_result_log
|
||||
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
insert into performance_schema.events_waits_summary_by_instance
|
||||
|
@@ -18,12 +18,13 @@
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_perfschema.inc
|
||||
|
||||
--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 #
|
||||
--disable_result_log
|
||||
select * from performance_schema.events_waits_summary_by_thread_by_event_name
|
||||
where event_name like 'Wait/Synch/%' limit 1;
|
||||
|
||||
select * from performance_schema.events_waits_summary_by_thread_by_event_name
|
||||
where event_name='FOO';
|
||||
--enable_result_log
|
||||
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
insert into performance_schema.events_waits_summary_by_thread_by_event_name
|
||||
|
@@ -18,12 +18,13 @@
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_perfschema.inc
|
||||
|
||||
--replace_column 1 # 2 # 3 # 4 # 5 # 6 #
|
||||
--disable_result_log
|
||||
select * from performance_schema.events_waits_summary_global_by_event_name
|
||||
where event_name like 'Wait/Synch/%' limit 1;
|
||||
|
||||
select * from performance_schema.events_waits_summary_global_by_event_name
|
||||
where event_name='FOO';
|
||||
--enable_result_log
|
||||
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
insert into performance_schema.events_waits_summary_global_by_event_name
|
||||
|
@@ -18,11 +18,12 @@
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_perfschema.inc
|
||||
|
||||
--replace_column 1 # 2 # 3 #
|
||||
--disable_result_log
|
||||
select * from performance_schema.file_instances limit 1;
|
||||
|
||||
select * from performance_schema.file_instances
|
||||
where file_name='FOO';
|
||||
--enable_result_log
|
||||
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
insert into performance_schema.file_instances
|
||||
|
@@ -18,12 +18,13 @@
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_perfschema.inc
|
||||
|
||||
--replace_column 1 # 2 # 3 # 4 # 5 #
|
||||
--disable_result_log
|
||||
select * from performance_schema.file_summary_by_event_name
|
||||
where event_name like 'Wait/io/%' limit 1;
|
||||
|
||||
select * from performance_schema.file_summary_by_event_name
|
||||
where event_name='FOO';
|
||||
--enable_result_log
|
||||
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
insert into performance_schema.file_summary_by_event_name
|
||||
|
@@ -18,12 +18,13 @@
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_perfschema.inc
|
||||
|
||||
--replace_column 1 # 2 # 3 # 4 # 5 # 6 #
|
||||
--disable_result_log
|
||||
select * from performance_schema.file_summary_by_instance
|
||||
where event_name like 'Wait/io/%' limit 1;
|
||||
|
||||
select * from performance_schema.file_summary_by_instance
|
||||
where event_name='FOO';
|
||||
--enable_result_log
|
||||
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
insert into performance_schema.file_summary_by_instance
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user