1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Merge tag 'mariadb-10.0.21' into 10.0-galera

This commit is contained in:
Nirbhay Choubey
2015-08-08 14:21:22 -04:00
348 changed files with 8241 additions and 6388 deletions

1
.gitattributes vendored
View File

@ -15,6 +15,7 @@
*.dat -text -whitespace *.dat -text -whitespace
storage/connect/mysql-test/connect/std_data/*.txt -text storage/connect/mysql-test/connect/std_data/*.txt -text
pcre/testdata/greppatN4 -text
# Denote all files that are truly binary and should not be modified. # Denote all files that are truly binary and should not be modified.
*.png binary *.png binary

4
.gitignore vendored
View File

@ -277,6 +277,10 @@ storage/mroonga/mysql-test/mroonga/storage/r/variable_version.result
*.vcproj.* *.vcproj.*
*.vcproj.*.* *.vcproj.*.*
*.vcproj.*.*.* *.vcproj.*.*.*
*.vcxproj
*.vcxproj.*
*.vcxproj.*.*
*.vcxproj.*.*.*
# Build results # Build results
[Dd]ebug/ [Dd]ebug/

View File

@ -435,7 +435,6 @@ IF(NOT WITHOUT_SERVER)
IF(EXISTS ${CMAKE_SOURCE_DIR}/internal/CMakeLists.txt) IF(EXISTS ${CMAKE_SOURCE_DIR}/internal/CMakeLists.txt)
ADD_SUBDIRECTORY(internal) ADD_SUBDIRECTORY(internal)
ENDIF() ENDIF()
ADD_SUBDIRECTORY(packaging/rpm-oel)
ENDIF() ENDIF()
IF(UNIX) IF(UNIX)
@ -449,7 +448,6 @@ IF(WIN32)
ADD_SUBDIRECTORY(win/upgrade_wizard) ADD_SUBDIRECTORY(win/upgrade_wizard)
ADD_SUBDIRECTORY(win/packaging) ADD_SUBDIRECTORY(win/packaging)
ENDIF() ENDIF()
ADD_SUBDIRECTORY(packaging/solaris)
IF(NOT CMAKE_CROSSCOMPILING) IF(NOT CMAKE_CROSSCOMPILING)
SET(EXPORTED comp_err comp_sql factorial) SET(EXPORTED comp_err comp_sql factorial)

View File

@ -1,3 +1,3 @@
MYSQL_VERSION_MAJOR=10 MYSQL_VERSION_MAJOR=10
MYSQL_VERSION_MINOR=0 MYSQL_VERSION_MINOR=0
MYSQL_VERSION_PATCH=20 MYSQL_VERSION_PATCH=21

View File

@ -1100,7 +1100,7 @@ int main(int argc, char **argv)
printf("This installation of MySQL is already upgraded to %s, " printf("This installation of MySQL is already upgraded to %s, "
"use --force if you still need to run mysql_upgrade\n", "use --force if you still need to run mysql_upgrade\n",
MYSQL_SERVER_VERSION); MYSQL_SERVER_VERSION);
die(NULL); goto end;
} }
if (opt_version_check && check_version_match()) if (opt_version_check && check_version_match())
@ -1129,6 +1129,7 @@ int main(int argc, char **argv)
DBUG_ASSERT(phase == phases_total); DBUG_ASSERT(phase == phases_total);
end:
free_used_memory(); free_used_memory();
my_end(my_end_arg); my_end(my_end_arg);
exit(0); exit(0);

View File

@ -36,7 +36,7 @@
/* Global Thread counter */ /* Global Thread counter */
uint counter; uint counter= 0;
pthread_mutex_t counter_mutex; pthread_mutex_t counter_mutex;
pthread_cond_t count_threshhold; pthread_cond_t count_threshhold;
@ -489,6 +489,11 @@ static void safe_exit(int error, MYSQL *mysql)
{ {
if (error && ignore_errors) if (error && ignore_errors)
return; return;
/* in multi-threaded mode protect from concurrent safe_exit's */
if (counter)
pthread_mutex_lock(&counter_mutex);
if (mysql) if (mysql)
mysql_close(mysql); mysql_close(mysql);

View File

@ -1,5 +1,6 @@
/* /*
Copyright (c) 2005, 2012, Oracle and/or its affiliates. Copyright (c) 2005, 2015, Oracle and/or its affiliates.
Copyright (c) 2010, 2015, MariaDB
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -242,7 +243,7 @@ void print_conclusions_csv(conclusions *con);
void generate_stats(conclusions *con, option_string *eng, stats *sptr); void generate_stats(conclusions *con, option_string *eng, stats *sptr);
uint parse_comma(const char *string, uint **range); uint parse_comma(const char *string, uint **range);
uint parse_delimiter(const char *script, statement **stmt, char delm); uint parse_delimiter(const char *script, statement **stmt, char delm);
uint parse_option(const char *origin, option_string **stmt, char delm); int parse_option(const char *origin, option_string **stmt, char delm);
static int drop_schema(MYSQL *mysql, const char *db); static int drop_schema(MYSQL *mysql, const char *db);
uint get_random_string(char *buf); uint get_random_string(char *buf);
static statement *build_table_string(void); static statement *build_table_string(void);
@ -1264,7 +1265,13 @@ get_options(int *argc,char ***argv)
if (num_int_cols_opt) if (num_int_cols_opt)
{ {
option_string *str; option_string *str;
parse_option(num_int_cols_opt, &str, ','); if(parse_option(num_int_cols_opt, &str, ',') == -1)
{
fprintf(stderr, "Invalid value specified for the option "
"'number-int-cols'\n");
option_cleanup(str);
return 1;
}
num_int_cols= atoi(str->string); num_int_cols= atoi(str->string);
if (str->option) if (str->option)
num_int_cols_index= atoi(str->option); num_int_cols_index= atoi(str->option);
@ -1275,7 +1282,13 @@ get_options(int *argc,char ***argv)
if (num_char_cols_opt) if (num_char_cols_opt)
{ {
option_string *str; option_string *str;
parse_option(num_char_cols_opt, &str, ','); if(parse_option(num_char_cols_opt, &str, ',') == -1)
{
fprintf(stderr, "Invalid value specified for the option "
"'number-char-cols'\n");
option_cleanup(str);
return 1;
}
num_char_cols= atoi(str->string); num_char_cols= atoi(str->string);
if (str->option) if (str->option)
num_char_cols_index= atoi(str->option); num_char_cols_index= atoi(str->option);
@ -1512,7 +1525,13 @@ get_options(int *argc,char ***argv)
printf("Parsing engines to use.\n"); printf("Parsing engines to use.\n");
if (default_engine) if (default_engine)
parse_option(default_engine, &engine_options, ','); {
if(parse_option(default_engine, &engine_options, ',') == -1)
{
fprintf(stderr, "Invalid value specified for the option 'engine'\n");
return 1;
}
}
if (tty_password) if (tty_password)
opt_password= get_tty_password(NullS); opt_password= get_tty_password(NullS);
@ -1989,7 +2008,7 @@ end:
DBUG_RETURN(0); DBUG_RETURN(0);
} }
uint int
parse_option(const char *origin, option_string **stmt, char delm) parse_option(const char *origin, option_string **stmt, char delm)
{ {
char *retstr; char *retstr;
@ -2014,6 +2033,13 @@ parse_option(const char *origin, option_string **stmt, char delm)
char buffer[HUGE_STRING_LENGTH]= ""; char buffer[HUGE_STRING_LENGTH]= "";
char *buffer_ptr; char *buffer_ptr;
/*
Return an error if the length of the any of the comma seprated value
exceeds HUGE_STRING_LENGTH.
*/
if ((size_t)(retstr - ptr) > HUGE_STRING_LENGTH)
return -1;
count++; count++;
strncpy(buffer, ptr, (size_t)(retstr - ptr)); strncpy(buffer, ptr, (size_t)(retstr - ptr));
/* /*
@ -2053,6 +2079,13 @@ parse_option(const char *origin, option_string **stmt, char delm)
{ {
char *origin_ptr; char *origin_ptr;
/*
Return an error if the length of the any of the comma seprated value
exceeds HUGE_STRING_LENGTH.
*/
if (strlen(ptr) > HUGE_STRING_LENGTH)
return -1;
if ((origin_ptr= strchr(ptr, ':'))) if ((origin_ptr= strchr(ptr, ':')))
{ {
char *option_ptr; char *option_ptr;
@ -2063,13 +2096,13 @@ parse_option(const char *origin, option_string **stmt, char delm)
option_ptr= (char *)ptr + 1 + tmp->length; option_ptr= (char *)ptr + 1 + tmp->length;
/* Move past the : and the first string */ /* Move past the : and the first string */
tmp->option_length= (size_t)((ptr + length) - option_ptr); tmp->option_length= strlen(option_ptr);
tmp->option= my_strndup(option_ptr, tmp->option_length, tmp->option= my_strndup(option_ptr, tmp->option_length,
MYF(MY_FAE)); MYF(MY_FAE));
} }
else else
{ {
tmp->length= (size_t)((ptr + length) - ptr); tmp->length= strlen(ptr);
tmp->string= my_strndup(ptr, tmp->length, MYF(MY_FAE)); tmp->string= my_strndup(ptr, tmp->length, MYF(MY_FAE));
} }

View File

@ -1,2 +1,3 @@
[mysqld_safe] [mysqld_safe]
skip_log_error
syslog syslog

View File

@ -228,7 +228,7 @@ rollback;
create table t0 (n int); create table t0 (n int);
insert t0 select * from t1; insert t0 select * from t1;
set autocommit=1; set autocommit=1;
insert into t0 select GET_LOCK("lock1",null); insert into t0 select GET_LOCK("lock1",0);
set autocommit=0; set autocommit=0;
create table t2 (n int) engine=innodb; create table t2 (n int) engine=innodb;
insert into t2 values (3); insert into t2 values (3);

View File

@ -2690,15 +2690,18 @@ sub setup_vardir() {
{ {
$plugindir="$opt_vardir/plugins"; $plugindir="$opt_vardir/plugins";
mkpath($plugindir); mkpath($plugindir);
if (IS_WINDOWS && !$opt_embedded_server) if (IS_WINDOWS)
{ {
for (<$bindir/storage/*$opt_vs_config/*.dll>, if (!$opt_embedded_server)
<$bindir/plugin/*$opt_vs_config/*.dll>,
<$bindir/sql$opt_vs_config/*.dll>)
{ {
my $pname=basename($_); for (<$bindir/storage/*$opt_vs_config/*.dll>,
copy rel2abs($_), "$plugindir/$pname"; <$bindir/plugin/*$opt_vs_config/*.dll>,
set_plugin_var($pname); <$bindir/sql$opt_vs_config/*.dll>)
{
my $pname=basename($_);
copy rel2abs($_), "$plugindir/$pname";
set_plugin_var($pname);
}
} }
} }
else else
@ -4863,6 +4866,7 @@ sub extract_warning_lines ($$) {
qr|InnoDB: Setting thread \d+ nice to \d+ failed, current nice \d+, errno 13|, # setpriority() fails under valgrind qr|InnoDB: Setting thread \d+ nice to \d+ failed, current nice \d+, errno 13|, # setpriority() fails under valgrind
qr|Failed to setup SSL|, qr|Failed to setup SSL|,
qr|SSL error: Failed to set ciphers to use|, qr|SSL error: Failed to set ciphers to use|,
qr/Plugin 'InnoDB' will be forced to shutdown/,
); );
my $matched_lines= []; my $matched_lines= [];

View File

@ -1773,8 +1773,8 @@ ALTER TABLE tm1 DROP INDEX im3;
affected rows: 2 affected rows: 2
info: Records: 2 Duplicates: 0 Warnings: 0 info: Records: 2 Duplicates: 0 Warnings: 0
ALTER TABLE ti1 DROP COLUMN d2; ALTER TABLE ti1 DROP COLUMN d2;
affected rows: 2 affected rows: 0
info: Records: 2 Duplicates: 0 Warnings: 0 info: Records: 0 Duplicates: 0 Warnings: 0
ALTER TABLE tm1 DROP COLUMN d2; ALTER TABLE tm1 DROP COLUMN d2;
affected rows: 2 affected rows: 2
info: Records: 2 Duplicates: 0 Warnings: 0 info: Records: 2 Duplicates: 0 Warnings: 0

View File

@ -5,7 +5,7 @@ Warning 1266 Using storage engine MyISAM for table 't1'
DROP TABLE t1; DROP TABLE t1;
INSTALL PLUGIN blackhole SONAME 'ha_blackhole.so'; INSTALL PLUGIN blackhole SONAME 'ha_blackhole.so';
INSTALL PLUGIN BLACKHOLE SONAME 'ha_blackhole.so'; INSTALL PLUGIN BLACKHOLE SONAME 'ha_blackhole.so';
ERROR HY000: Function 'BLACKHOLE' already exists ERROR HY000: Plugin 'BLACKHOLE' already installed
UNINSTALL PLUGIN blackhole; UNINSTALL PLUGIN blackhole;
INSTALL PLUGIN blackhole SONAME 'ha_blackhole.so'; INSTALL PLUGIN blackhole SONAME 'ha_blackhole.so';
CREATE TABLE t1(a int) ENGINE=BLACKHOLE; CREATE TABLE t1(a int) ENGINE=BLACKHOLE;

View File

@ -1103,3 +1103,19 @@ ORDER BY field;
field field
c,c c,c
drop table t3, t2, t1; drop table t3, t2, t1;
#
# MDEV-7821 - Server crashes in Item_func_group_concat::fix_fields on 2nd
# execution of PS
#
CREATE TABLE t1(a INT);
INSERT INTO t1 VALUES(1),(2);
PREPARE stmt FROM "SELECT GROUP_CONCAT(t1a.a ORDER BY 1, t1a.a=0) FROM t1 AS t1a, t1 AS t1b GROUP BY t1a.a";
EXECUTE stmt;
GROUP_CONCAT(t1a.a ORDER BY 1, t1a.a=0)
1,1
2,2
EXECUTE stmt;
GROUP_CONCAT(t1a.a ORDER BY 1, t1a.a=0)
1,1
2,2
DROP TABLE t1;

View File

@ -361,6 +361,19 @@ set optimizer_switch=@optimizer_switch_save;
drop view v_merge, vm; drop view v_merge, vm;
drop table t1,tv; drop table t1,tv;
# #
# MDEV-4017 - GET_LOCK() with negative timeouts has strange behavior
#
SELECT GET_LOCK('ul1', NULL);
GET_LOCK('ul1', NULL)
NULL
Warnings:
Warning 1411 Incorrect timeout value: 'NULL' for function get_lock
SELECT GET_LOCK('ul1', -1);
GET_LOCK('ul1', -1)
NULL
Warnings:
Warning 1411 Incorrect timeout value: '-1' for function get_lock
#
# GET_LOCK, RELEASE_LOCK, IS_USED_LOCK functions test # GET_LOCK, RELEASE_LOCK, IS_USED_LOCK functions test
# #
# IS_USED_LOCK, IS_FREE_LOCK: the lock is not acquired # IS_USED_LOCK, IS_FREE_LOCK: the lock is not acquired

View File

@ -1689,6 +1689,7 @@ Assigning privileges without procs_priv table.
CREATE DATABASE mysqltest1; CREATE DATABASE mysqltest1;
CREATE PROCEDURE mysqltest1.test() SQL SECURITY DEFINER CREATE PROCEDURE mysqltest1.test() SQL SECURITY DEFINER
SELECT 1; SELECT 1;
CREATE FUNCTION mysqltest1.test() RETURNS INT RETURN 1;
GRANT EXECUTE ON FUNCTION mysqltest1.test TO mysqltest_1@localhost; GRANT EXECUTE ON FUNCTION mysqltest1.test TO mysqltest_1@localhost;
ERROR 42S02: Table 'mysql.procs_priv' doesn't exist ERROR 42S02: Table 'mysql.procs_priv' doesn't exist
GRANT ALL PRIVILEGES ON test.* TO mysqltest_1@localhost; GRANT ALL PRIVILEGES ON test.* TO mysqltest_1@localhost;
@ -2551,3 +2552,25 @@ ERROR 42000: Access denied for user 'untrusted'@'localhost' to database 'secret'
# Connection default # Connection default
DROP USER untrusted@localhost; DROP USER untrusted@localhost;
DROP DATABASE secret; DROP DATABASE secret;
#
# BUG#11759114 - '51401: GRANT TREATS NONEXISTENT FUNCTIONS/PRIVILEGES
# DIFFERENTLY'.
#
drop database if exists mysqltest_db1;
create database mysqltest_db1;
create user mysqltest_u1;
# Both GRANT statements below should fail with the same error.
grant execute on function mysqltest_db1.f1 to mysqltest_u1;
ERROR 42000: FUNCTION or PROCEDURE f1 does not exist
grant execute on procedure mysqltest_db1.p1 to mysqltest_u1;
ERROR 42000: FUNCTION or PROCEDURE p1 does not exist
# Let us show that GRANT behaviour for routines is consistent
# with GRANT behaviour for tables. Attempt to grant privilege
# on non-existent table also results in an error.
grant select on mysqltest_db1.t1 to mysqltest_u1;
ERROR 42S02: Table 'mysqltest_db1.t1' doesn't exist
show grants for mysqltest_u1;
Grants for mysqltest_u1@%
GRANT USAGE ON *.* TO 'mysqltest_u1'@'%'
drop database mysqltest_db1;
drop user mysqltest_u1;

View File

@ -19,3 +19,5 @@ mysqld-bin.000001 # Query # # use `test`; insert t1 values (2)
mysqld-bin.000001 # Query # # COMMIT mysqld-bin.000001 # Query # # COMMIT
drop table t1; drop table t1;
uninstall plugin innodb; uninstall plugin innodb;
Warnings:
Warning 1620 Plugin is busy and will be uninstalled on shutdown

View File

@ -1,5 +1,7 @@
# #
# Test of MyISAM MRG tables with corrupted children. # Tests for corrupted MyISAM tables and MyISAMMRG tables with corrupted
# children..
#
# Run with --myisam-recover=force option. # Run with --myisam-recover=force option.
# #
# Preparation: we need to make sure that the merge parent # Preparation: we need to make sure that the merge parent
@ -44,20 +46,20 @@ drop procedure p_create;
# Switching to connection 'default' # Switching to connection 'default'
# #
# #
# We have to disable the ps-protocol, to avoid # We have to disable the ps-protocol, to avoid
# "Prepared statement needs to be re-prepared" errors # "Prepared statement needs to be re-prepared" errors
# -- table def versions change all the time with full table cache. # -- table def versions change all the time with full table cache.
# #
drop table if exists t1, t1_mrg, t1_copy; drop table if exists t1, t1_mrg, t1_copy;
# #
# Prepare a MERGE engine table, that refers to a corrupted # Prepare a MERGE engine table, that refers to a corrupted
# child. # child.
# #
create table t1 (a int, key(a)) engine=myisam; create table t1 (a int, key(a)) engine=myisam;
create table t1_mrg (a int) union (t1) engine=merge; create table t1_mrg (a int) union (t1) engine=merge;
# #
# Create a table with a corrupted index file: # Create a table with a corrupted index file:
# save an old index file, insert more rows, # save an old index file, insert more rows,
# overwrite the new index file with the old one. # overwrite the new index file with the old one.
# #
insert into t1 (a) values (1), (2), (3); insert into t1 (a) values (1), (2), (3);
@ -101,3 +103,48 @@ execute stmt;
deallocate prepare stmt; deallocate prepare stmt;
set @@global.table_definition_cache=default; set @@global.table_definition_cache=default;
set @@global.table_open_cache=default; set @@global.table_open_cache=default;
#
# 18075170 - sql node restart required to avoid deadlock after
# restore
#
# Check that auto-repair for MyISAM tables can now happen in the
# middle of transaction, without aborting it.
create table t1 (a int, key(a)) engine=myisam;
create table t2 (a int);
insert into t2 values (1);
# Create a table with a corrupted index file:
# save an old index file, insert more rows,
# overwrite the new index file with the old one.
insert into t1 (a) values (1);
flush table t1;
insert into t1 (a) values (4);
flush table t1;
# Check table is needed to mark the table as crashed.
check table t1;
Table Op Msg_type Msg_text
test.t1 check warning Size of datafile is: 14 Should be: 7
test.t1 check error Record-count is not ok; is 2 Should be: 1
test.t1 check warning Found 2 key parts. Should be: 1
test.t1 check error Corrupt
# At this point we have a corrupt t1
set autocommit = 0;
select * from t2;
a
1
# Without fix select from t1 will break the transaction. After the fix
# transaction should be active and should hold lock on table t2. Alter
# table from con2 will wait only if the transaction is not broken.
select * from t1;
a
1
4
Warnings:
Error 145 Table 't1' is marked as crashed and should be repaired
Error 1194 Table 't1' is marked as crashed and should be repaired
Error 1034 Number of rows changed from 1 to 2
ALTER TABLE t2 ADD val INT;
# With fix we should have alter table waiting for t2 lock here.
ROLLBACK;
SET autocommit = 1;
# Cleanup
drop table t1, t2;

View File

@ -634,6 +634,9 @@ The following options may be given as the first argument:
--performance-schema-max-cond-instances=# --performance-schema-max-cond-instances=#
Maximum number of instrumented condition objects. Use 0 Maximum number of instrumented condition objects. Use 0
to disable, -1 for automated sizing. to disable, -1 for automated sizing.
--performance-schema-max-digest-length=#
Maximum length considered for digest text, when stored in
performance_schema tables.
--performance-schema-max-file-classes=# --performance-schema-max-file-classes=#
Maximum number of file instruments. Maximum number of file instruments.
--performance-schema-max-file-handles=# --performance-schema-max-file-handles=#
@ -1332,6 +1335,7 @@ performance-schema-hosts-size -1
performance-schema-instrument performance-schema-instrument
performance-schema-max-cond-classes 80 performance-schema-max-cond-classes 80
performance-schema-max-cond-instances -1 performance-schema-max-cond-instances -1
performance-schema-max-digest-length 1024
performance-schema-max-file-classes 50 performance-schema-max-file-classes 50
performance-schema-max-file-handles 32768 performance-schema-max-file-handles 32768
performance-schema-max-file-instances -1 performance-schema-max-file-instances -1

View File

@ -5,7 +5,7 @@ Warning 1266 Using storage engine MyISAM for table 't1'
DROP TABLE t1; DROP TABLE t1;
INSTALL PLUGIN example SONAME 'ha_example'; INSTALL PLUGIN example SONAME 'ha_example';
INSTALL PLUGIN EXAMPLE SONAME 'ha_example'; INSTALL PLUGIN EXAMPLE SONAME 'ha_example';
ERROR HY000: Function 'EXAMPLE' already exists ERROR HY000: Plugin 'EXAMPLE' already installed
UNINSTALL PLUGIN example; UNINSTALL PLUGIN example;
INSTALL SONAME 'ha_example'; INSTALL SONAME 'ha_example';
select * from information_schema.plugins where plugin_library like 'ha_example%'; select * from information_schema.plugins where plugin_library like 'ha_example%';

View File

@ -0,0 +1,156 @@
drop table if exists t1;
Warnings:
Note 1051 Unknown table 'test.t1'
drop view if exists view_t1;
Warnings:
Note 1051 Unknown table 'test.view_t1'
SET sql_mode=ONLY_FULL_GROUP_BY;
CREATE TABLE t1 (
pk INT,
f0 INT, f1 INT, f2 INT, f3 INT, f4 INT,
f5 INT, f6 INT, f7 INT, f8 INT, f9 INT,
PRIMARY KEY (pk)
);
CREATE VIEW view_t1 AS SELECT * FROM t1;
CREATE PROCEDURE s1()
SELECT * FROM (
INFORMATION_SCHEMA.`INNODB_BUFFER_PAGE_LRU` AS table1
LEFT JOIN test.view_t1 AS table2
ON ( table2.`f6` = table1.FREE_PAGE_CLOCK)
)
ORDER BY table1.NUMBER_RECORDS
LIMIT 0
;
CALL s1;
POOL_ID LRU_POSITION SPACE PAGE_NUMBER PAGE_TYPE FLUSH_TYPE FIX_COUNT IS_HASHED NEWEST_MODIFICATION OLDEST_MODIFICATION ACCESS_TIME TABLE_NAME INDEX_NAME NUMBER_RECORDS DATA_SIZE COMPRESSED_SIZE COMPRESSED IO_FIX IS_OLD FREE_PAGE_CLOCK pk f0 f1 f2 f3 f4 f5 f6 f7 f8 f9
CALL s1;
POOL_ID LRU_POSITION SPACE PAGE_NUMBER PAGE_TYPE FLUSH_TYPE FIX_COUNT IS_HASHED NEWEST_MODIFICATION OLDEST_MODIFICATION ACCESS_TIME TABLE_NAME INDEX_NAME NUMBER_RECORDS DATA_SIZE COMPRESSED_SIZE COMPRESSED IO_FIX IS_OLD FREE_PAGE_CLOCK pk f0 f1 f2 f3 f4 f5 f6 f7 f8 f9
drop table t1;
drop view view_t1;
drop procedure s1;
CREATE TABLE A (
pk INTEGER AUTO_INCREMENT,
col_int_key INTEGER,
col_varchar_key VARCHAR(1),
PRIMARY KEY (pk)
) ENGINE=MyISAM;
CREATE VIEW view_A AS SELECT * FROM A;
CREATE TABLE C (
pk INTEGER AUTO_INCREMENT,
col_int_nokey INTEGER,
col_int_key INTEGER,
col_date_key DATE,
col_date_nokey DATE,
col_time_key TIME,
col_time_nokey TIME,
col_datetime_key DATETIME,
col_datetime_nokey DATETIME,
col_varchar_key VARCHAR(1),
col_varchar_nokey VARCHAR(1),
PRIMARY KEY (pk)
) ENGINE=MyISAM;
CREATE VIEW view_C AS SELECT * FROM C;
CREATE TABLE AA (
pk INTEGER AUTO_INCREMENT,
col_int_nokey INTEGER,
col_int_key INTEGER,
col_date_key DATE,
col_date_nokey DATE,
col_time_key TIME,
col_time_nokey TIME,
col_datetime_key DATETIME,
col_datetime_nokey DATETIME,
col_varchar_key VARCHAR(1),
col_varchar_nokey VARCHAR(1),
PRIMARY KEY (pk),
KEY (col_varchar_key, col_int_key)
) ENGINE=MyISAM;
CREATE VIEW view_AA AS SELECT * FROM AA;
CREATE TABLE BB (
pk INTEGER AUTO_INCREMENT,
col_int_key INTEGER,
col_varchar_key VARCHAR(1),
col_varchar_nokey VARCHAR(1),
PRIMARY KEY (pk),
KEY (col_varchar_key, col_int_key)
) ENGINE=MyISAM;
CREATE VIEW view_BB AS SELECT * FROM BB;
CREATE TABLE DD (
pk INTEGER AUTO_INCREMENT,
col_int_key INTEGER,
col_date_key DATE,
col_time_key TIME,
col_datetime_key DATETIME,
col_varchar_key VARCHAR(1),
PRIMARY KEY (pk),
KEY (col_varchar_key, col_int_key)
) ENGINE=MyISAM;
CREATE VIEW view_DD AS SELECT * FROM DD;
CREATE TRIGGER k BEFORE INSERT ON `DD` FOR EACH ROW INSERT INTO `view_BB` SELECT * FROM `view_A` LIMIT 0 ;
CREATE TRIGGER r BEFORE INSERT ON `A` FOR EACH ROW INSERT INTO `view_AA` SELECT * FROM `view_C` LIMIT 0 ;
ALTER TABLE `DD` DROP PRIMARY KEY;
ERROR 42000: Incorrect table definition; there can be only one auto column and it must be defined as a key
INSERT INTO `view_A` ( `pk` ) VALUES (NULL);
INSERT INTO `DD` ( `pk` ) VALUES (NULL);
INSERT INTO `A` ( `pk` ) VALUES (NULL);
INSERT INTO `view_DD` ( `pk` ) VALUES (NULL);
drop trigger r;
drop trigger k;
drop view view_A,view_AA,view_C,view_BB,view_DD;
drop table A,C,AA,BB,DD;
CREATE TABLE A (
i INT,
i1 INT,
i2 INT,
d1 DATE,
d2 DATE,
col_time_nokey1 TIME,
col_time_nokey2 TIME,
col_datetime_nokey1 DATETIME,
col_datetime_nokey2 DATETIME,
col_varchar_nokey1 VARCHAR(1),
col_varchar_nokey2 VARCHAR(1)
) ENGINE=MyISAM;
CREATE VIEW view_A AS SELECT * FROM A;
CREATE TABLE B (
col_varchar_nokey VARCHAR(1)
) ENGINE=MyISAM;
CREATE TABLE AA (
i INT,
i1 INT,
i2 INT,
d1 DATE,
d2 DATE,
col_time_nokey1 TIME,
col_time_nokey2 TIME,
col_datetime_nokey1 DATETIME,
col_datetime_nokey2 DATETIME,
col_varchar_nokey1 VARCHAR(1),
col_varchar_nokey2 VARCHAR(1)
) ENGINE=MyISAM;
CREATE VIEW view_AA AS SELECT * FROM AA;
CREATE TABLE DD (
i INT,
i1 INT,
i2 INT,
d1 DATE,
d2 DATE,
col_time_nokey1 TIME,
col_time_nokey2 TIME,
col_datetime_nokey1 DATETIME,
col_datetime_nokey2 DATETIME,
col_varchar_nokey1 VARCHAR(1),
col_varchar_nokey2 VARCHAR(1)
) ENGINE=MyISAM;
CREATE VIEW view_DD AS SELECT * FROM DD;
CREATE TRIGGER tr1 BEFORE INSERT ON `AA` FOR EACH ROW INSERT INTO `view_A` SELECT * FROM `view_AA` LIMIT 0 ;
CREATE TRIGGER tr2 BEFORE INSERT ON `B` FOR EACH ROW INSERT INTO `D` SELECT * FROM `A` LIMIT 0 ;
INSERT INTO `view_AA` ( `i` ) VALUES (1);
INSERT INTO `AA` ( `i` ) VALUES (2);
DELETE FROM `B`;
INSERT INTO `view_DD` ( `i` ) VALUES (1);
INSERT INTO `view_AA` ( `i` ) VALUES (3);
drop trigger tr1;
drop trigger tr2;
drop view view_A, view_AA,view_DD;
drop table A,B,AA,DD;

View File

@ -7858,3 +7858,56 @@ v1
DROP PROCEDURE p1; DROP PROCEDURE p1;
DROP TABLE t1; DROP TABLE t1;
# End of 5.5 test # End of 5.5 test
#
# MDEV-7040: Crash in field_conv, memcpy_field_possible, part#2
#
create table t1 (
col1 bigint(20),
col2 char(1),
col3 char(2)
);
insert into t1 values (1,'a','a'), (2,'b','b');
create table t2 as select * from t1;
create table t3 as select * from t1;
create table t4 as select * from t1;
create table t5 as select * from t1;
create table t6 as select * from t1;
flush tables;
CREATE PROCEDURE p1()
begin
DECLARE _var1 bigint(20) UNSIGNED;
DECLARE _var2 CHAR(1) DEFAULT NULL;
DECLARE _var3 CHAR(1) DEFAULT NULL;
DECLARE _done BOOLEAN DEFAULT 0;
declare cur1 cursor for
select col1, col2, col3
from t1
where
col1 in (select t2.col1 from t2 where t2.col2=t1.col2) or
col2 in (select t3.col3 from t3 where t3.col3=t1.col2) ;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET _done = 1;
OPEN cur1;
set _var1 = (select _var1 from t4 limit 1);
set _var1 = (select _var1 from t5 limit 1);
set _var1 = (select _var1 from t6 limit 1);
label1:
LOOP
SET _done = 0;
FETCH cur1 INTO _var1, _var2, _var3;
IF _done THEN
LEAVE label1;
END IF;
END LOOP label1;
CLOSE cur1;
end|
set @tmp_toc= @@table_open_cache;
set @tmp_tdc= @@table_definition_cache;
set global table_open_cache=1;
set global table_definition_cache=1;
Warnings:
Warning 1292 Truncated incorrect table_definition_cache value: '1'
call p1();
set global table_open_cache= @tmp_toc;
set global table_definition_cache= @tmp_tdc;
drop procedure p1;
drop table t1,t2,t3,t4,t5,t6;

View File

@ -2145,6 +2145,24 @@ drop database mysqltest1;
drop database mysqltest2; drop database mysqltest2;
drop database mysqltest3; drop database mysqltest3;
drop database mysqltest4; drop database mysqltest4;
#
# MDEV-7810 Wrong result on execution of a query as a PS
# (both 1st and further executions)
CREATE TABLE t1 (a INT NOT NULL) ENGINE=MyISAM;
INSERT INTO t1 VALUES (0),(8);
SELECT a FROM (SELECT DISTINCT * FROM t1) AS sq WHERE a IN (SELECT MIN(t2.a) FROM (t1 AS t2));
a
0
PREPARE stmt FROM "
SELECT a FROM (SELECT DISTINCT * FROM t1) AS sq WHERE a IN (SELECT MIN(t2.a) FROM (t1 AS t2))
";
execute stmt;
a
0
execute stmt;
a
0
drop table t1;
# End of 5.5 tests # End of 5.5 tests
# #
# MDEV-7220: Materialization strategy is not used for REPLACE ... SELECT # MDEV-7220: Materialization strategy is not used for REPLACE ... SELECT
@ -2197,6 +2215,24 @@ Handler_read_rnd_next 6003
Handler_tmp_write 2000 Handler_tmp_write 2000
Handler_write 1000 Handler_write 1000
drop table t0,t1,t2,t3; drop table t0,t1,t2,t3;
#
# MDEV-7971: Assertion `name != __null' failed in ACL_internal_schema_registry::lookup
# on 2nd execution os PS with multi-table update
#
CREATE TABLE t1 (f1 INT);
INSERT INTO t1 VALUES (1),(2);
CREATE TABLE t2 (f2 INT);
INSERT INTO t2 VALUES (3),(4);
CREATE TABLE t3 (f3 INT);
INSERT INTO t3 VALUES (5),(6);
PREPARE stmt FROM '
UPDATE t1, t2
SET f1 = 5
WHERE 8 IN ( SELECT MIN(f3) FROM t3 )
';
EXECUTE stmt;
EXECUTE stmt;
DROP TABLE t1,t2,t3;
set @subselect_mat_test_optimizer_switch_value=null; set @subselect_mat_test_optimizer_switch_value=null;
set @@optimizer_switch='materialization=on,in_to_exists=off,semijoin=off'; set @@optimizer_switch='materialization=on,in_to_exists=off,semijoin=off';
set optimizer_switch='mrr=on,mrr_sort_keys=on,index_condition_pushdown=on'; set optimizer_switch='mrr=on,mrr_sort_keys=on,index_condition_pushdown=on';

View File

@ -2185,6 +2185,24 @@ drop database mysqltest1;
drop database mysqltest2; drop database mysqltest2;
drop database mysqltest3; drop database mysqltest3;
drop database mysqltest4; drop database mysqltest4;
#
# MDEV-7810 Wrong result on execution of a query as a PS
# (both 1st and further executions)
CREATE TABLE t1 (a INT NOT NULL) ENGINE=MyISAM;
INSERT INTO t1 VALUES (0),(8);
SELECT a FROM (SELECT DISTINCT * FROM t1) AS sq WHERE a IN (SELECT MIN(t2.a) FROM (t1 AS t2));
a
0
PREPARE stmt FROM "
SELECT a FROM (SELECT DISTINCT * FROM t1) AS sq WHERE a IN (SELECT MIN(t2.a) FROM (t1 AS t2))
";
execute stmt;
a
0
execute stmt;
a
0
drop table t1;
# End of 5.5 tests # End of 5.5 tests
# #
# MDEV-7220: Materialization strategy is not used for REPLACE ... SELECT # MDEV-7220: Materialization strategy is not used for REPLACE ... SELECT
@ -2237,3 +2255,21 @@ Handler_read_rnd_next 6003
Handler_tmp_write 2000 Handler_tmp_write 2000
Handler_write 1000 Handler_write 1000
drop table t0,t1,t2,t3; drop table t0,t1,t2,t3;
#
# MDEV-7971: Assertion `name != __null' failed in ACL_internal_schema_registry::lookup
# on 2nd execution os PS with multi-table update
#
CREATE TABLE t1 (f1 INT);
INSERT INTO t1 VALUES (1),(2);
CREATE TABLE t2 (f2 INT);
INSERT INTO t2 VALUES (3),(4);
CREATE TABLE t3 (f3 INT);
INSERT INTO t3 VALUES (5),(6);
PREPARE stmt FROM '
UPDATE t1, t2
SET f1 = 5
WHERE 8 IN ( SELECT MIN(f3) FROM t3 )
';
EXECUTE stmt;
EXECUTE stmt;
DROP TABLE t1,t2,t3;

View File

@ -146,3 +146,37 @@ hex(f2) hex(f3)
0000 0000
drop table t1; drop table t1;
End of 5.0 tests End of 5.0 tests
#
# Start of 10.0 tests
#
#
# MDEV-8472 BINARY, VARBINARY and BLOB return different warnings on CAST to DECIMAL
#
SET NAMES utf8;
CREATE TABLE t1 (a BINARY(30));
INSERT INTO t1 VALUES ('1äÖüß@µ*$');
SELECT CAST(a AS DECIMAL) FROM t1;
CAST(a AS DECIMAL)
1
Warnings:
Warning 1292 Truncated incorrect DECIMAL value: '1\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
DROP TABLE t1;
CREATE TABLE t1 (a VARBINARY(30));
INSERT INTO t1 VALUES ('1äÖüß@µ*$');
SELECT CAST(a AS DECIMAL) FROM t1;
CAST(a AS DECIMAL)
1
Warnings:
Warning 1292 Truncated incorrect DECIMAL value: '1\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$'
DROP TABLE t1;
CREATE TABLE t1 (a BLOB);
INSERT INTO t1 VALUES ('1äÖüß@µ*$');
SELECT CAST(a AS DECIMAL) FROM t1;
CAST(a AS DECIMAL)
1
Warnings:
Warning 1292 Truncated incorrect DECIMAL value: '1\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$'
DROP TABLE t1;
#
# End of 10.0 tests
#

View File

@ -5427,6 +5427,21 @@ View Create View character_set_client collation_connection
v2 CREATE ALGORITHM=MERGE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select (`t1`.`b` + 1) AS `c` from `t1` latin1 latin1_swedish_ci v2 CREATE ALGORITHM=MERGE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select (`t1`.`b` + 1) AS `c` from `t1` latin1 latin1_swedish_ci
drop view v2; drop view v2;
drop table t1; drop table t1;
#
# MDEV-8554: Server crashes in base_list_iterator::next_fast on 1st execution of PS with a multi-table update
#
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
INSERT INTO t1 VALUES (1),(2);
CREATE TABLE t2 (b INT) ENGINE=MyISAM;
INSERT INTO t2 VALUES (3),(4);
CREATE TABLE t3 (c INT) ENGINE=MyISAM;
INSERT INTO t3 VALUES (5),(6);
CREATE OR REPLACE ALGORITHM=MERGE VIEW v3 AS SELECT * FROM t3;
PREPARE stmt FROM 'UPDATE t1, t2 SET a = 1 WHERE a IN ( SELECT 0 FROM t3 )';
UPDATE t1, t2 SET a = 1 WHERE a IN ( SELECT 0 FROM v3 );
EXECUTE stmt;
DROP TABLE t1, t2, t3;
DROP VIEW v3;
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# -- End of 5.5 tests. # -- End of 5.5 tests.
# ----------------------------------------------------------------- # -----------------------------------------------------------------

View File

@ -5,7 +5,7 @@ Warning 1266 Using storage engine MyISAM for table 't1'
DROP TABLE t1; DROP TABLE t1;
INSTALL PLUGIN archive SONAME 'ha_archive.so'; INSTALL PLUGIN archive SONAME 'ha_archive.so';
INSTALL PLUGIN ARCHIVE SONAME 'ha_archive.so'; INSTALL PLUGIN ARCHIVE SONAME 'ha_archive.so';
ERROR HY000: Function 'ARCHIVE' already exists ERROR HY000: Plugin 'ARCHIVE' already installed
UNINSTALL PLUGIN archive; UNINSTALL PLUGIN archive;
INSTALL PLUGIN archive SONAME 'ha_archive.so'; INSTALL PLUGIN archive SONAME 'ha_archive.so';
CREATE TABLE t1(a int) ENGINE=ARCHIVE; CREATE TABLE t1(a int) ENGINE=ARCHIVE;

View File

@ -7,7 +7,7 @@ DROP TABLE t1;
--replace_regex /\.dll/.so/ --replace_regex /\.dll/.so/
eval INSTALL PLUGIN archive SONAME '$HA_ARCHIVE_SO'; eval INSTALL PLUGIN archive SONAME '$HA_ARCHIVE_SO';
--replace_regex /\.dll/.so/ --replace_regex /\.dll/.so/
--error 1125 --error ER_PLUGIN_INSTALLED
eval INSTALL PLUGIN ARCHIVE SONAME '$HA_ARCHIVE_SO'; eval INSTALL PLUGIN ARCHIVE SONAME '$HA_ARCHIVE_SO';
UNINSTALL PLUGIN archive; UNINSTALL PLUGIN archive;

View File

@ -259,7 +259,7 @@ Warning 1196 Some non-transactional changed tables couldn't be rolled back
create table t0 (n int); create table t0 (n int);
insert t0 select * from t1; insert t0 select * from t1;
set autocommit=1; set autocommit=1;
insert into t0 select GET_LOCK("lock1",null); insert into t0 select GET_LOCK("lock1",0);
set autocommit=0; set autocommit=0;
create table t2 (n int) engine=innodb; create table t2 (n int) engine=innodb;
insert into t2 values (3); insert into t2 values (3);

View File

@ -243,7 +243,7 @@ Warning 1196 Some non-transactional changed tables couldn't be rolled back
create table t0 (n int); create table t0 (n int);
insert t0 select * from t1; insert t0 select * from t1;
set autocommit=1; set autocommit=1;
insert into t0 select GET_LOCK("lock1",null); insert into t0 select GET_LOCK("lock1",0);
Warnings: Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
set autocommit=0; set autocommit=0;
@ -293,7 +293,7 @@ master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert t0 select * from t1 master-bin.000001 # Query # # use `test`; insert t0 select * from t1
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t0 select GET_LOCK("lock1",null) master-bin.000001 # Query # # use `test`; insert into t0 select GET_LOCK("lock1",0)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t2 (n int) engine=innodb master-bin.000001 # Query # # use `test`; create table t2 (n int) engine=innodb

View File

@ -3404,7 +3404,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------' Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: ' ---<EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>*$-- ' Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
SHOW CREATE VIEW v1; SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as decimal(37,2)) AS `CAST(my_varbinary_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as decimal(37,2)) AS `CAST(my_varbinary_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@ -3424,7 +3424,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------' Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: ' ---<EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>*$-- ' Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
DROP VIEW v1; DROP VIEW v1;
@ -3492,7 +3492,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------' Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: ' ---<EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>*$-- ' Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1; SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as decimal(37,2)) AS `CAST(my_varchar_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as decimal(37,2)) AS `CAST(my_varchar_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@ -3512,7 +3512,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------' Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: ' ---<EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>*$-- ' Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
DROP VIEW v1; DROP VIEW v1;

View File

@ -3405,7 +3405,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------' Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: ' ---<EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>*$-- ' Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
SHOW CREATE VIEW v1; SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as decimal(37,2)) AS `CAST(my_varbinary_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as decimal(37,2)) AS `CAST(my_varbinary_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@ -3425,7 +3425,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------' Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: ' ---<EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>*$-- ' Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
DROP VIEW v1; DROP VIEW v1;
@ -3493,7 +3493,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------' Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: ' ---<EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>*$-- ' Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1; SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as decimal(37,2)) AS `CAST(my_varchar_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as decimal(37,2)) AS `CAST(my_varchar_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@ -3513,7 +3513,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------' Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: ' ---<EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>*$-- ' Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
DROP VIEW v1; DROP VIEW v1;

View File

@ -3405,7 +3405,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------' Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: ' ---<EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>*$-- ' Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
SHOW CREATE VIEW v1; SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as decimal(37,2)) AS `CAST(my_varbinary_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as decimal(37,2)) AS `CAST(my_varbinary_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@ -3425,7 +3425,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------' Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: ' ---<EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>*$-- ' Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
DROP VIEW v1; DROP VIEW v1;
@ -3493,7 +3493,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------' Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: ' ---<EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>*$-- ' Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1; SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as decimal(37,2)) AS `CAST(my_varchar_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as decimal(37,2)) AS `CAST(my_varchar_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@ -3513,7 +3513,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------' Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: ' ---<EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>*$-- ' Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
DROP VIEW v1; DROP VIEW v1;

View File

@ -0,0 +1,13 @@
#
# Bug #20762798 FK DDL: CRASH IN DICT_FOREIGN_REMOVE_FROM_CACHE
#
create table t1(a int, b int, key(a),key(b))engine=innodb;
create table t2(a int, b int, key(a),key(b))engine=innodb;
alter table t2 add constraint b foreign key (b) references t1(a);
alter table t1 add constraint b1 foreign key (b) references t2(a);
alter table t2 add constraint b1 foreign key (b) references t1(a);
ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 121 "Duplicate key on write or update")
alter table t2 drop foreign key b;
alter table t1 drop foreign key b1;
drop table t2;
drop table t1;

View File

@ -0,0 +1,45 @@
drop database if exists moodle19;
Warnings:
Note 1008 Can't drop database 'moodle19'; database doesn't exist
create database moodle19;
use moodle19;
CREATE TABLE `mdl_course_modules` (
`id` bigint(10) NOT NULL AUTO_INCREMENT,
`course` bigint(10) NOT NULL DEFAULT '0',
`module` bigint(10) NOT NULL DEFAULT '0',
`instance` bigint(10) NOT NULL DEFAULT '0',
`section` bigint(10) NOT NULL DEFAULT '0',
`idnumber` varchar(100) DEFAULT NULL,
`added` bigint(10) NOT NULL DEFAULT '0',
`delay` varchar(10) NOT NULL DEFAULT '0',
`score` smallint(4) NOT NULL DEFAULT '0',
`indent` mediumint(5) NOT NULL DEFAULT '0',
`visible` tinyint(1) NOT NULL DEFAULT '1',
`checkboxesforprereqs` tinyint(1) NOT NULL DEFAULT '0',
`stylewhencomplete` varchar(200) DEFAULT '',
`checkboxforcomplete` tinyint(1) NOT NULL DEFAULT '0',
`stylewhenlocked` varchar(200) DEFAULT 'locked',
`visiblewhenlocked` tinyint(1) NOT NULL DEFAULT '1',
`visibleold` tinyint(1) NOT NULL DEFAULT '1',
`groupmode` smallint(4) NOT NULL DEFAULT '0',
`groupingid` bigint(10) NOT NULL DEFAULT '0',
`groupmembersonly` smallint(4) NOT NULL DEFAULT '0',
`completion` tinyint(1) NOT NULL DEFAULT '0',
`completiongradeitemnumber` bigint(10) DEFAULT NULL,
`completionview` tinyint(1) NOT NULL DEFAULT '0',
`completionexpected` bigint(10) NOT NULL DEFAULT '0',
`availablefrom` bigint(10) NOT NULL DEFAULT '0',
`availableuntil` bigint(10) NOT NULL DEFAULT '0',
`showavailability` tinyint(1) NOT NULL DEFAULT '0',
`showdescription` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `mdl_courmodu_vis_ix` (`visible`),
KEY `mdl_courmodu_cou_ix` (`course`),
KEY `mdl_courmodu_mod_ix` (`module`),
KEY `mdl_courmodu_ins_ix` (`instance`),
KEY `mdl_courmodu_idncou_ix` (`idnumber`,`course`),
KEY `mdl_courmodu_gro_ix` (`groupingid`)
) ENGINE=InnoDB AUTO_INCREMENT=447023 DEFAULT CHARSET=utf8 COMMENT='course_modules table retrofitted from MySQL';
# Inserting 2701 rows into the table...
ALTER TABLE moodle19.mdl_course_modules ADD stefantest LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci AFTER showdescription;
drop database moodle19;

View File

@ -0,0 +1,29 @@
CREATE TABLE t1 (
`i1` INT(10) UNSIGNED NOT NULL,
`d1` TIMESTAMP NULL DEFAULT NULL
) ENGINE=innodb;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`i1` int(10) unsigned NOT NULL,
`d1` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
INSERT INTO t1 (i1) VALUES (1), (2), (3), (4), (5);
select * from t1;
i1 d1
1 NULL
2 NULL
3 NULL
4 NULL
5 NULL
set sql_mode = 'STRICT_ALL_TABLES,NO_ZERO_DATE';
ALTER TABLE t1 CHANGE `d1` `d1` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
drop table t1;
CREATE TABLE t1 (
`i1` INT(10) UNSIGNED NOT NULL,
`d1` TIMESTAMP NULL DEFAULT NULL
) ENGINE=innodb;
INSERT INTO t1 (i1) VALUES (1), (2), (3), (4), (5);
ALTER TABLE t1 CHANGE `d1` `d1` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
drop table t1;
set sql_mode = '';

View File

@ -0,0 +1,112 @@
CREATE TABLE t1 (
id int(11) NOT NULL PRIMARY KEY,
a int(11) NOT NULL,
b int(11) NOT NULL,
c int not null,
CONSTRAINT test FOREIGN KEY (b) REFERENCES t1 (id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE t2 (
id int(11) NOT NULL PRIMARY KEY,
a int(11) NOT NULL,
b int(11) NOT NULL,
c int not null,
CONSTRAINT mytest FOREIGN KEY (c) REFERENCES t1(id),
CONSTRAINT test FOREIGN KEY (b) REFERENCES t2 (id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ERROR HY000: Can't create table `test`.`t2` (errno: 121 "Duplicate key on write or update")
show warnings;
Level Code Message
Warning 121 Create or Alter table `test`.`t2` with foreign key constraint failed. Foreign key constraint `test/test` already exists on data dictionary. Foreign key constraint names need to be unique in database. Error in foreign key definition: CONSTRAINT `test` FOREIGN KEY (`b`) REFERENCES `test`.`t2` (`id`).
Error 1005 Can't create table `test`.`t2` (errno: 121 "Duplicate key on write or update")
Warning 1022 Can't write; duplicate key in table 't2'
drop table t1;
create table t1(a int) engine=innodb;
create table t2(a int, constraint a foreign key a (a) references t1(a)) engine=innodb;
ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Warning 150 Create table '`test`.`t2`' with foreign key constraint failed. There is no index in the referenced table where the referenced columns appear as the first columns. Error close to foreign key a (a) references t1(a)) engine=innodb.
Error 1005 Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
Warning 1215 Cannot add foreign key constraint
drop table t1;
create table t1(a int not null primary key, b int) engine=innodb;
create table t2(a int, b int, constraint a foreign key a (a) references t1(a),
constraint a foreign key a (a) references t1(b)) engine=innodb;
ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Error 1005 Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
Warning 1215 Cannot add foreign key constraint
create table t2(a int, b int, constraint a foreign key a (a) references t1(a)) engine=innodb;
alter table t2 add constraint b foreign key (b) references t2(b);
ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Warning 150 Alter table '`test`.`t2`' with foreign key constraint failed. There is no index in the referenced table where the referenced columns appear as the first columns. Error close to foreign key (b) references t2(b).
Error 1005 Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
Warning 1215 Cannot add foreign key constraint
drop table t2, t1;
create table t1 (f1 integer primary key) engine=innodb;
alter table t1 add constraint c1 foreign key (f1) references t11(f1);
ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Warning 150 Alter table `test`.`t1` with foreign key constraint failed. Referenced table `test`.`t11` not found in the data dictionary close to foreign key (f1) references t11(f1).
Error 1005 Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
Warning 1215 Cannot add foreign key constraint
drop table t1;
create temporary table t1(a int not null primary key, b int, key(b)) engine=innodb;
create temporary table t2(a int, foreign key(a) references t1(a)) engine=innodb;
ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Warning 150 Create table `mysqld.1`.`t2` with foreign key constraint failed. Referenced table `mysqld.1`.`t1` not found in the data dictionary close to foreign key(a) references t1(a)) engine=innodb.
Error 1005 Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
Warning 1215 Cannot add foreign key constraint
alter table t1 add foreign key(b) references t1(a);
ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Warning 150 Alter table `mysqld.1`.`t1` with foreign key constraint failed. Referenced table `mysqld.1`.`t1` not found in the data dictionary close to foreign key(b) references t1(a).
Error 1005 Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
Warning 1215 Cannot add foreign key constraint
drop table t1;
create table t1(a int not null primary key, b int, key(b)) engine=innodb;
alter table t1 add foreign key(a,b) references t1(a);
ERROR 42000: Incorrect foreign key definition for 'foreign key without name': Key reference and table reference don't match
show warnings;
Level Code Message
Error 1239 Incorrect foreign key definition for 'foreign key without name': Key reference and table reference don't match
drop table t1;
create table t1(a int not null primary key, b int, key(b)) engine=innodb;
alter table t1 add foreign key(a) references t1(a,b);
ERROR 42000: Incorrect foreign key definition for 'foreign key without name': Key reference and table reference don't match
show warnings;
Level Code Message
Error 1239 Incorrect foreign key definition for 'foreign key without name': Key reference and table reference don't match
drop table t1;
create table t1 (f1 integer not null primary key) engine=innodb;
alter table t1 add constraint c1 foreign key (f1) references t1(f1) on update set null;
ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Warning 150 Alter table `test`.`t1` with foreign key constraint failed. You have defined a SET NULL condition but column f1 is defined as NOT NULL in foreign key (f1) references t1(f1) on update set null close to on update set null.
Error 1005 Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
Warning 1215 Cannot add foreign key constraint
create table t2(a int not null, foreign key(a) references t1(f1) on delete set null) engine=innodb;
ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Warning 150 Create table `test`.`t2` with foreign key constraint failed. You have defined a SET NULL condition but column a is defined as NOT NULL in foreign key(a) references t1(f1) on delete set null) engine=innodb close to on delete set null) engine=innodb.
Error 1005 Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
Warning 1215 Cannot add foreign key constraint
drop table t1;
create table t1 (id int not null primary key, f1 int, f2 int, key(f1)) engine=innodb;
create table t2(a char(20), key(a), foreign key(a) references t1(f1)) engine=innodb;
ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Warning 150 Create table `test`.`t2` with foreign key constraint failed. Field type or character set for column a does not mach referenced column f1 close to foreign key(a) references t1(f1)) engine=innodb
Error 1005 Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
Warning 1215 Cannot add foreign key constraint
drop table t1;

View File

@ -50,6 +50,8 @@ CONSTRAINT fk3 FOREIGN KEY (f3) REFERENCES t3 (id) ON DELETE CASCADE
ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed") ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings; show warnings;
Level Code Message Level Code Message
Warning 150 Create table `test`.`t2` with foreign key constraint failed. Referenced table `test`.`t3` not found in the data dictionary close to FOREIGN KEY (f3) REFERENCES t3 (id) ON DELETE CASCADE
) ENGINE=InnoDB.
Error 1005 Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed") Error 1005 Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
Warning 1215 Cannot add foreign key constraint Warning 1215 Cannot add foreign key constraint
CREATE TABLE t2 ( CREATE TABLE t2 (
@ -63,6 +65,7 @@ ALTER TABLE t2 ADD CONSTRAINT fk3 FOREIGN KEY (f3) REFERENCES t3 (id) ON DELETE
ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed") ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings; show warnings;
Level Code Message Level Code Message
Warning 150 Alter table `test`.`t2` with foreign key constraint failed. Referenced table `test`.`t3` not found in the data dictionary close to FOREIGN KEY (f3) REFERENCES t3 (id) ON DELETE CASCADE.
Error 1005 Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed") Error 1005 Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
Warning 1215 Cannot add foreign key constraint Warning 1215 Cannot add foreign key constraint
drop table t2; drop table t2;

View File

@ -5,4 +5,4 @@ CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, msg VARCHAR(255), KEY msg_i(m
SET GLOBAL innodb_simulate_comp_failures = 25; SET GLOBAL innodb_simulate_comp_failures = 25;
SELECT COUNT(*) FROM t1; SELECT COUNT(*) FROM t1;
COUNT(*) COUNT(*)
100000 10000

View File

@ -0,0 +1,22 @@
install plugin innodb soname 'ha_innodb';
create table t1(a int not null primary key) engine=innodb;
begin;
insert into t1 values(1);
flush tables;
uninstall plugin innodb;
select sleep(1);
sleep(1)
0
Warnings:
Warning 1620 Plugin is busy and will be uninstalled on shutdown
drop table t1;
install plugin innodb soname 'ha_innodb';
create table t2(a int not null primary key) engine=innodb;
insert into t2 values(1);
drop table t2;
uninstall plugin innodb;
select sleep(1);
sleep(1)
0
Warnings:
Warning 1620 Plugin is busy and will be uninstalled on shutdown

View File

@ -0,0 +1,21 @@
--source include/have_innodb.inc
--echo #
--echo # Bug #20762798 FK DDL: CRASH IN DICT_FOREIGN_REMOVE_FROM_CACHE
--echo #
create table t1(a int, b int, key(a),key(b))engine=innodb;
create table t2(a int, b int, key(a),key(b))engine=innodb;
alter table t2 add constraint b foreign key (b) references t1(a);
alter table t1 add constraint b1 foreign key (b) references t2(a);
--replace_regex /#sql-[0-9a-f_]*/#sql-temporary/
--error ER_CANT_CREATE_TABLE
alter table t2 add constraint b1 foreign key (b) references t1(a);
alter table t2 drop foreign key b;
alter table t1 drop foreign key b1;
drop table t2;
drop table t1;

View File

@ -0,0 +1,59 @@
--source include/have_innodb.inc
#
# MMDEV-8386: MariaDB creates very big tmp file and hangs on xtradb
#
drop database if exists moodle19;
create database moodle19;
use moodle19;
CREATE TABLE `mdl_course_modules` (
`id` bigint(10) NOT NULL AUTO_INCREMENT,
`course` bigint(10) NOT NULL DEFAULT '0',
`module` bigint(10) NOT NULL DEFAULT '0',
`instance` bigint(10) NOT NULL DEFAULT '0',
`section` bigint(10) NOT NULL DEFAULT '0',
`idnumber` varchar(100) DEFAULT NULL,
`added` bigint(10) NOT NULL DEFAULT '0',
`delay` varchar(10) NOT NULL DEFAULT '0',
`score` smallint(4) NOT NULL DEFAULT '0',
`indent` mediumint(5) NOT NULL DEFAULT '0',
`visible` tinyint(1) NOT NULL DEFAULT '1',
`checkboxesforprereqs` tinyint(1) NOT NULL DEFAULT '0',
`stylewhencomplete` varchar(200) DEFAULT '',
`checkboxforcomplete` tinyint(1) NOT NULL DEFAULT '0',
`stylewhenlocked` varchar(200) DEFAULT 'locked',
`visiblewhenlocked` tinyint(1) NOT NULL DEFAULT '1',
`visibleold` tinyint(1) NOT NULL DEFAULT '1',
`groupmode` smallint(4) NOT NULL DEFAULT '0',
`groupingid` bigint(10) NOT NULL DEFAULT '0',
`groupmembersonly` smallint(4) NOT NULL DEFAULT '0',
`completion` tinyint(1) NOT NULL DEFAULT '0',
`completiongradeitemnumber` bigint(10) DEFAULT NULL,
`completionview` tinyint(1) NOT NULL DEFAULT '0',
`completionexpected` bigint(10) NOT NULL DEFAULT '0',
`availablefrom` bigint(10) NOT NULL DEFAULT '0',
`availableuntil` bigint(10) NOT NULL DEFAULT '0',
`showavailability` tinyint(1) NOT NULL DEFAULT '0',
`showdescription` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `mdl_courmodu_vis_ix` (`visible`),
KEY `mdl_courmodu_cou_ix` (`course`),
KEY `mdl_courmodu_mod_ix` (`module`),
KEY `mdl_courmodu_ins_ix` (`instance`),
KEY `mdl_courmodu_idncou_ix` (`idnumber`,`course`),
KEY `mdl_courmodu_gro_ix` (`groupingid`)
) ENGINE=InnoDB AUTO_INCREMENT=447023 DEFAULT CHARSET=utf8 COMMENT='course_modules table retrofitted from MySQL';
let $num= 2701;
--disable_query_log
--echo # Inserting $num rows into the table...
while ($num)
{
eval INSERT INTO mdl_course_modules VALUES ($num,4,5,5,24,NULL,1141569781,'',0,0,1,0,'',0,'locked',1,1,0,0,0,0,NULL,0,0,0,0,0,0);
dec $num;
}
--enable_query_log
ALTER TABLE moodle19.mdl_course_modules ADD stefantest LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci AFTER showdescription;
drop database moodle19;

View File

@ -0,0 +1,27 @@
--source include/have_innodb.inc
CREATE TABLE t1 (
`i1` INT(10) UNSIGNED NOT NULL,
`d1` TIMESTAMP NULL DEFAULT NULL
) ENGINE=innodb;
show create table t1;
INSERT INTO t1 (i1) VALUES (1), (2), (3), (4), (5);
select * from t1;
set sql_mode = 'STRICT_ALL_TABLES,NO_ZERO_DATE';
ALTER TABLE t1 CHANGE `d1` `d1` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
drop table t1;
CREATE TABLE t1 (
`i1` INT(10) UNSIGNED NOT NULL,
`d1` TIMESTAMP NULL DEFAULT NULL
) ENGINE=innodb;
INSERT INTO t1 (i1) VALUES (1), (2), (3), (4), (5);
ALTER TABLE t1 CHANGE `d1` `d1` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
drop table t1;
set sql_mode = '';

View File

@ -0,0 +1,145 @@
--source include/have_innodb.inc
#
# MDEV-8524: Improve error messaging when there is duplicate key or foreign key names
#
CREATE TABLE t1 (
id int(11) NOT NULL PRIMARY KEY,
a int(11) NOT NULL,
b int(11) NOT NULL,
c int not null,
CONSTRAINT test FOREIGN KEY (b) REFERENCES t1 (id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
#
# Below create table fails because constraint name test
# is reserved for above table.
#
--error 1005
CREATE TABLE t2 (
id int(11) NOT NULL PRIMARY KEY,
a int(11) NOT NULL,
b int(11) NOT NULL,
c int not null,
CONSTRAINT mytest FOREIGN KEY (c) REFERENCES t1(id),
CONSTRAINT test FOREIGN KEY (b) REFERENCES t2 (id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
show warnings;
drop table t1;
#
# MDEV-6697: Improve foreign keys warnings/errors
#
#
# No index for referenced columns
#
create table t1(a int) engine=innodb;
--error 1005
create table t2(a int, constraint a foreign key a (a) references t1(a)) engine=innodb;
show warnings;
drop table t1;
create table t1(a int not null primary key, b int) engine=innodb;
--error 1005
create table t2(a int, b int, constraint a foreign key a (a) references t1(a),
constraint a foreign key a (a) references t1(b)) engine=innodb;
show warnings;
create table t2(a int, b int, constraint a foreign key a (a) references t1(a)) engine=innodb;
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
--error 1005
alter table t2 add constraint b foreign key (b) references t2(b);
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
show warnings;
drop table t2, t1;
#
# Referenced table does not exists
#
create table t1 (f1 integer primary key) engine=innodb;
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
--error 1005
alter table t1 add constraint c1 foreign key (f1) references t11(f1);
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
show warnings;
drop table t1;
#
# Foreign key on temporal tables
#
create temporary table t1(a int not null primary key, b int, key(b)) engine=innodb;
# remove echos and uncomment the commented when MDEV-8569 is fixed
--echo create temporary table t2(a int, foreign key(a) references t1(a)) engine=innodb;
--echo ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
--echo show warnings;
--echo Level Code Message
--echo Warning 150 Create table `mysqld.1`.`t2` with foreign key constraint failed. Referenced table `mysqld.1`.`t1` not found in the data dictionary close to foreign key(a) references t1(a)) engine=innodb.
--echo Error 1005 Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
--echo Warning 1215 Cannot add foreign key constraint
--echo alter table t1 add foreign key(b) references t1(a);
--echo ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
--echo show warnings;
--echo Level Code Message
--echo Warning 150 Alter table `mysqld.1`.`t1` with foreign key constraint failed. Referenced table `mysqld.1`.`t1` not found in the data dictionary close to foreign key(b) references t1(a).
--echo Error 1005 Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
--echo Warning 1215 Cannot add foreign key constraint
#--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
#--error 1005
#create temporary table t2(a int, foreign key(a) references t1(a)) engine=innodb;
#--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
#show warnings;
#--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
#--error 1005
#alter table t1 add foreign key(b) references t1(a);
#--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
#show warnings;
drop table t1;
#
# Column numbers do not match
#
create table t1(a int not null primary key, b int, key(b)) engine=innodb;
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
--error 1239
alter table t1 add foreign key(a,b) references t1(a);
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
show warnings;
drop table t1;
create table t1(a int not null primary key, b int, key(b)) engine=innodb;
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
--error 1239
alter table t1 add foreign key(a) references t1(a,b);
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
show warnings;
drop table t1;
#
# ON UPDATE/DELETE SET NULL on NOT NULL column
#
create table t1 (f1 integer not null primary key) engine=innodb;
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
--error 1005
alter table t1 add constraint c1 foreign key (f1) references t1(f1) on update set null;
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
show warnings;
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
--error 1005
create table t2(a int not null, foreign key(a) references t1(f1) on delete set null) engine=innodb;
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
show warnings;
drop table t1;
#
# Incorrect types
#
create table t1 (id int not null primary key, f1 int, f2 int, key(f1)) engine=innodb;
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
--error 1005
create table t2(a char(20), key(a), foreign key(a) references t1(f1)) engine=innodb;
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
show warnings;
drop table t1;

View File

@ -1,8 +1,8 @@
--source include/big_test.inc --source include/big_test.inc
# test takes too long with valgrind # test takes too long with valgrind
--source include/not_valgrind.inc --source include/not_valgrind.inc
--let $num_inserts = 100000 --let $num_inserts = 10000
--let $num_ops = 30000 --let $num_ops = 10000
--source suite/innodb/include/innodb_simulate_comp_failures.inc --source suite/innodb/include/innodb_simulate_comp_failures.inc
# clean exit # clean exit
--exit --exit

View File

@ -0,0 +1,3 @@
--ignore-builtin-innodb
--loose-innodb

View File

@ -0,0 +1,58 @@
--source include/not_embedded.inc
--source include/not_windows.inc
if (!$HA_INNODB_SO) {
--skip Need InnoDB plugin
}
#
# MDEV-8474: InnoDB sets per-connection data unsafely
# Below test caused hang
#
install plugin innodb soname 'ha_innodb';
create table t1(a int not null primary key) engine=innodb;
connect (con1, localhost, root);
connection con1;
begin;
insert into t1 values(1);
connection default;
flush tables;
send uninstall plugin innodb;
connection con1;
select sleep(1);
disconnect con1;
connection default;
reap;
--source include/restart_mysqld.inc
drop table t1;
#
# Another test that caused hang.
#
connect (con1, localhost, root);
connection con1;
install plugin innodb soname 'ha_innodb';
create table t2(a int not null primary key) engine=innodb;
insert into t2 values(1);
drop table t2;
connection default;
send uninstall plugin innodb;
connection con1;
select sleep(1);
disconnect con1;
connection default;
reap;
--source include/restart_mysqld.inc

View File

@ -3,21 +3,25 @@
[mysqld.1] [mysqld.1]
log-slave-updates log-slave-updates
loose-innodb loose-innodb
binlog-format=mixed
[mysqld.2] [mysqld.2]
log-slave-updates log-slave-updates
loose-innodb loose-innodb
binlog-format=mixed
[mysqld.3] [mysqld.3]
log-bin=server3-bin log-bin=server3-bin
log-slave-updates log-slave-updates
loose-innodb loose-innodb
binlog-format=mixed
[mysqld.4] [mysqld.4]
server-id=4 server-id=4
log-bin=server4-bin log-bin=server4-bin
log-slave-updates log-slave-updates
loose-innodb loose-innodb
binlog-format=mixed
[ENV] [ENV]
SERVER_MYPORT_4= @mysqld.4.port SERVER_MYPORT_4= @mysqld.4.port

View File

@ -242,6 +242,178 @@ a
24 24
25 25
26 26
*** MDEV-8354: out-of-order error with --gtid-ignore-duplicates and row-based replication ***
SET default_master_connection = "b2a";
STOP SLAVE;
include/wait_for_slave_to_stop.inc
SET default_master_connection = "c2a";
STOP SLAVE;
include/wait_for_slave_to_stop.inc
SET default_master_connection = "c2b";
STOP SLAVE;
include/wait_for_slave_to_stop.inc
SET default_master_connection = "b2c";
STOP SLAVE;
include/wait_for_slave_to_stop.inc
SET @old_slave_mode=@@GLOBAL.slave_exec_mode;
SET GLOBAL slave_exec_mode=IDEMPOTENT;
SET @old_strict=@@GLOBAL.gtid_strict_mode;
SET GLOBAL gtid_strict_mode=1;
SET @old_dbug=@@GLOBAL.debug_dbug;
SET GLOBAL debug_dbug="+d,inject_sleep_gtid_100_x_x";
SET @old_domain=@@SESSION.gtid_domain_id;
SET @old_format=@@SESSION.binlog_format;
SET SESSION gtid_domain_id=100;
SET SESSION binlog_format='row';
INSERT INTO t1 VALUES (30);
INSERT INTO t1 VALUES (31);
INSERT INTO t1 VALUES (32);
INSERT INTO t1 VALUES (33);
INSERT INTO t1 VALUES (34);
INSERT INTO t1 VALUES (35);
INSERT INTO t1 VALUES (36);
INSERT INTO t1 VALUES (37);
INSERT INTO t1 VALUES (38);
INSERT INTO t1 VALUES (39);
INSERT INTO t1 VALUES (40);
INSERT INTO t1 VALUES (41);
INSERT INTO t1 VALUES (42);
INSERT INTO t1 VALUES (43);
INSERT INTO t1 VALUES (44);
INSERT INTO t1 VALUES (45);
INSERT INTO t1 VALUES (46);
INSERT INTO t1 VALUES (47);
INSERT INTO t1 VALUES (48);
INSERT INTO t1 VALUES (49);
SET SESSION gtid_domain_id=@old_domain;
SET SESSION binlog_format=@old_format;
include/save_master_gtid.inc
include/sync_with_master_gtid.inc
INSERT INTO t1 VALUES (50);
include/save_master_gtid.inc
SET default_master_connection = "b2c";
START SLAVE;
include/wait_for_slave_to_start.inc
SELECT MASTER_GTID_WAIT("GTID", 30);
MASTER_GTID_WAIT("GTID", 30)
0
SET default_master_connection = "b2a";
START SLAVE;
include/wait_for_slave_to_start.inc
SET default_master_connection = "c2a";
START SLAVE;
include/wait_for_slave_to_start.inc
include/sync_with_master_gtid.inc
SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
a
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
SET default_master_connection = "c2b";
START SLAVE;
include/wait_for_slave_to_start.inc
include/sync_with_master_gtid.inc
SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
a
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
include/sync_with_master_gtid.inc
SET GLOBAL debug_dbug=@old_dbug;
SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
a
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
SET GLOBAL slave_exec_mode=@old_slave_mode;
SET GLOBAL gtid_strict_mode=@old_strict;
*** MDEV-8496: gtid_ignore_duplicates treats gtid_seq_no as 32-bit ***
SET @old_domain= @@SESSION.gtid_domain_id;
SET SESSION gtid_domain_id=102;
SET SESSION gtid_seq_no=4294967294;
INSERT INTO t1 VALUES (60);
INSERT INTO t1 VALUES (61);
INSERT INTO t1 VALUES (62);
SET SESSION gtid_domain_id= @old_domain;
include/save_master_gtid.inc
include/sync_with_master_gtid.inc
SELECT * FROM t1 WHERE a >= 60 ORDER BY a;
a
60
61
62
SET default_master_connection = "c2b";
include/sync_with_master_gtid.inc
SET default_master_connection = "a2b";
include/sync_with_master_gtid.inc
SELECT * FROM t1 WHERE a >= 60 ORDER BY a;
a
60
61
62
SET default_master_connection = "b2c";
include/sync_with_master_gtid.inc
SET default_master_connection = "a2c";
include/sync_with_master_gtid.inc
SELECT * FROM t1 WHERE a >= 60 ORDER BY a;
a
60
61
62
SET GLOBAL gtid_domain_id=0; SET GLOBAL gtid_domain_id=0;
STOP ALL SLAVES; STOP ALL SLAVES;
Warnings: Warnings:

View File

@ -1,5 +1,7 @@
--source include/not_embedded.inc --source include/not_embedded.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/have_debug.inc
--echo *** Test all-to-all replication with --gtid-ignore-duplicates *** --echo *** Test all-to-all replication with --gtid-ignore-duplicates ***
@ -258,6 +260,146 @@ SELECT * FROM t1 WHERE a >= 20 ORDER BY a;
SELECT * FROM t1 WHERE a >= 20 ORDER BY a; SELECT * FROM t1 WHERE a >= 20 ORDER BY a;
--echo *** MDEV-8354: out-of-order error with --gtid-ignore-duplicates and row-based replication ***
# Have only A->C A->B initially.
--connection server_1
SET default_master_connection = "b2a";
STOP SLAVE;
--source include/wait_for_slave_to_stop.inc
SET default_master_connection = "c2a";
STOP SLAVE;
--source include/wait_for_slave_to_stop.inc
--connection server_2
SET default_master_connection = "c2b";
STOP SLAVE;
--source include/wait_for_slave_to_stop.inc
--connection server_3
SET default_master_connection = "b2c";
STOP SLAVE;
--source include/wait_for_slave_to_stop.inc
SET @old_slave_mode=@@GLOBAL.slave_exec_mode;
SET GLOBAL slave_exec_mode=IDEMPOTENT;
SET @old_strict=@@GLOBAL.gtid_strict_mode;
SET GLOBAL gtid_strict_mode=1;
SET @old_dbug=@@GLOBAL.debug_dbug;
# This will inject a small sleep that helps trigger the race. I did not manage
# to create a non-sleeping version with debug_sync for this; the problem is
# that once the bug is fixed, the race becomes impossible, so even with
# debug_sync at best we can check that the debug_sync times out. Which is
# just another way of adding a sleep.
#
# The bug was a race at this point where another multi-source connection
# could incorrectly re-apply the same GTID, in case of row-based replication.
SET GLOBAL debug_dbug="+d,inject_sleep_gtid_100_x_x";
--connection server_1
SET @old_domain=@@SESSION.gtid_domain_id;
SET @old_format=@@SESSION.binlog_format;
SET SESSION gtid_domain_id=100;
SET SESSION binlog_format='row';
INSERT INTO t1 VALUES (30);
INSERT INTO t1 VALUES (31);
INSERT INTO t1 VALUES (32);
INSERT INTO t1 VALUES (33);
INSERT INTO t1 VALUES (34);
INSERT INTO t1 VALUES (35);
INSERT INTO t1 VALUES (36);
INSERT INTO t1 VALUES (37);
INSERT INTO t1 VALUES (38);
INSERT INTO t1 VALUES (39);
INSERT INTO t1 VALUES (40);
INSERT INTO t1 VALUES (41);
INSERT INTO t1 VALUES (42);
INSERT INTO t1 VALUES (43);
INSERT INTO t1 VALUES (44);
INSERT INTO t1 VALUES (45);
INSERT INTO t1 VALUES (46);
INSERT INTO t1 VALUES (47);
INSERT INTO t1 VALUES (48);
INSERT INTO t1 VALUES (49);
SET SESSION gtid_domain_id=@old_domain;
SET SESSION binlog_format=@old_format;
--source include/save_master_gtid.inc
--connection server_2
--source include/sync_with_master_gtid.inc
INSERT INTO t1 VALUES (50);
--let $gtid=`SELECT @@last_gtid`
--source include/save_master_gtid.inc
--connection server_3
SET default_master_connection = "b2c";
START SLAVE;
--source include/wait_for_slave_to_start.inc
--replace_result $gtid GTID
eval SELECT MASTER_GTID_WAIT("$gtid", 30);
# The bug occured here, the slave would get an out-of-order binlog error
# due to trying to re-apply the 100-x-x transaction.
# Restart stopped multi-source connections, and sync up.
--connection server_1
SET default_master_connection = "b2a";
START SLAVE;
--source include/wait_for_slave_to_start.inc
SET default_master_connection = "c2a";
START SLAVE;
--source include/wait_for_slave_to_start.inc
--source include/sync_with_master_gtid.inc
SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
--connection server_2
SET default_master_connection = "c2b";
START SLAVE;
--source include/wait_for_slave_to_start.inc
--source include/sync_with_master_gtid.inc
SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
--connection server_3
--source include/sync_with_master_gtid.inc
SET GLOBAL debug_dbug=@old_dbug;
SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
SET GLOBAL slave_exec_mode=@old_slave_mode;
SET GLOBAL gtid_strict_mode=@old_strict;
--echo *** MDEV-8496: gtid_ignore_duplicates treats gtid_seq_no as 32-bit ***
--connection server_1
SET @old_domain= @@SESSION.gtid_domain_id;
SET SESSION gtid_domain_id=102;
SET SESSION gtid_seq_no=4294967294;
INSERT INTO t1 VALUES (60);
INSERT INTO t1 VALUES (61);
INSERT INTO t1 VALUES (62);
# The bug was an overflow, the seq_no value 4294967296 (2**32) was treated
# as 0, causing the last transaction to be ignored.
SET SESSION gtid_domain_id= @old_domain;
--source include/save_master_gtid.inc
--connection server_4
--source include/sync_with_master_gtid.inc
SELECT * FROM t1 WHERE a >= 60 ORDER BY a;
--connection server_2
SET default_master_connection = "c2b";
--source include/sync_with_master_gtid.inc
SET default_master_connection = "a2b";
--source include/sync_with_master_gtid.inc
SELECT * FROM t1 WHERE a >= 60 ORDER BY a;
--connection server_3
SET default_master_connection = "b2c";
--source include/sync_with_master_gtid.inc
SET default_master_connection = "a2c";
--source include/sync_with_master_gtid.inc
SELECT * FROM t1 WHERE a >= 60 ORDER BY a;
# Clean up. # Clean up.
--connection server_1 --connection server_1
SET GLOBAL gtid_domain_id=0; SET GLOBAL gtid_domain_id=0;

View File

@ -0,0 +1,33 @@
#
# 18075170 - sql node restart required to avoid deadlock after
# restore
#
CREATE TABLE t1 (id INT) ENGINE=NDBCluster;
CREATE TABLE t2 (id INT) ENGINE=NDBCluster;
INSERT INTO t1 VALUES (1);
INSERT INTO t2 VALUES (1);
DROP TABLE t1;
DROP TABLE t2;
SET autocommit = 0;
SELECT * FROM t1;
id
1
SELECT * FROM t2;
id
1
ROLLBACK;
SET autocommit = 1;
drop table t1;
drop table t2;
SET autocommit = 0;
SELECT * FROM t1;
id
1
SELECT * FROM t2;
id
1
ALTER TABLE t1 ADD val INT;
ROLLBACK;
SET autocommit = 1;
drop table t1;
drop table t2;

View File

@ -0,0 +1,70 @@
-- source include/have_ndb.inc
-- source include/count_sessions.inc
--echo #
--echo # 18075170 - sql node restart required to avoid deadlock after
--echo # restore
--echo #
# Test Auto Discover option within a transaction
# and make sure the transaction is not broken.
CREATE TABLE t1 (id INT) ENGINE=NDBCluster;
CREATE TABLE t2 (id INT) ENGINE=NDBCluster;
INSERT INTO t1 VALUES (1);
INSERT INTO t2 VALUES (1);
-- source include/ndb_backup.inc
DROP TABLE t1;
DROP TABLE t2;
-- source include/ndb_restore_master.inc
SET autocommit = 0;
SELECT * FROM t1;
# Without fix below select was resulting in DEADLOCK error. With fix select
# should succeed.
SELECT * FROM t2;
ROLLBACK;
SET autocommit = 1;
drop table t1;
drop table t2;
#
# Checking lock preservation in transaction
#
# Using existing backup to create the scenario. Tables are deleted as part of
# above test cleanup. Thus restoring the backup will bring the system to
# required state.
-- source include/ndb_restore_master.inc
SET autocommit = 0;
SELECT * FROM t1;
SELECT * FROM t2;
connect(con2, localhost, root);
--SEND ALTER TABLE t1 ADD val INT
connection default;
# Alter from con2 will be in waiting state as there is a lock on t1 from
# default connection due to active transaction. We check for this condition
# then releasing the lock by rollbacking active transaction.
let $wait_condition=
SELECT count(*) = 1 FROM information_schema.processlist WHERE state
LIKE "Waiting%" AND info = "ALTER TABLE t1 ADD val INT";
--source include/wait_condition.inc
ROLLBACK;
SET autocommit = 1;
connection con2;
--REAP
disconnect con2;
connection default;
drop table t1;
drop table t2;
# Wait till all disconnects are completed
-- source include/wait_until_count_sessions.inc

View File

@ -16,12 +16,12 @@ NULL NULL NULL 1 2 3 NULL NULL
SELECT SCHEMA_NAME, DIGEST_TEXT, COUNT_STAR SELECT SCHEMA_NAME, DIGEST_TEXT, COUNT_STAR
FROM performance_schema.events_statements_summary_by_digest; FROM performance_schema.events_statements_summary_by_digest;
SCHEMA_NAME DIGEST_TEXT COUNT_STAR SCHEMA_NAME DIGEST_TEXT COUNT_STAR
test TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 test TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1
test SELECT ? 1 test SELECT ? 1
test SELECT ? FROM DUAL 1 test SELECT ? FROM DUAL 1
test SELECT ?, ... 2 test SELECT ?, ... 2
test SELECT ? IS NULL 1 test SELECT ? IS NULL 1
test SELECT ? IS NOT NULL 1 test SELECT ? IS NOT NULL 1
test SELECT ? IS NULL , ? IS NULL , ? IS NOT NULL , ? IS NOT NULL 1 test SELECT ? IS NULL , ? IS NULL , ? IS NOT NULL , ? IS NOT NULL 1
test CREATE TABLE foo ( a INTEGER DEFAULT ? , b INTEGER NOT NULL DEFAULT ? , c INTEGER NOT NULL ) 1 test CREATE TABLE `foo` ( `a` INTEGER DEFAULT ? , `b` INTEGER NOT NULL DEFAULT ? , `c` INTEGER NOT NULL ) 1
test DROP TABLE foo 1 test DROP TABLE `foo` 1

View File

@ -113,7 +113,7 @@ SELECT SCHEMA_NAME, DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARN
SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest; SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest;
SCHEMA_NAME DIGEST DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS SCHEMA_NAME DIGEST DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS
NULL NULL NULL 55 32 1 2 NULL NULL NULL 55 32 1 2
statements_digest 8de787d0e3e3a062aea121ff528fcfce TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 0 0 0 statements_digest b12e7d0f2ac88c8fad9ac8dabb347b09 TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1 0 0 0
SHOW VARIABLES LIKE "performance_schema_digests_size"; SHOW VARIABLES LIKE "performance_schema_digests_size";
Variable_name Value Variable_name Value
performance_schema_digests_size 2 performance_schema_digests_size 2

View File

@ -20,11 +20,13 @@ lock tables performance_schema.setup_instruments write;
connection default; connection default;
select event_name, select event_name,
left(source, locate(":", source)) as short_source, left(source, locate(":", source)) as short_source,
timer_end, timer_wait, operation if(timer_end IS NULL, NULL, "SET") as timer_end,
if(timer_wait IS NULL, NULL, "SET") as timer_wait,
operation
from performance_schema.events_waits_current from performance_schema.events_waits_current
where event_name like "wait/synch/cond/sql/MDL_context::COND_wait_status"; where event_name like "wait/synch/cond/sql/MDL_context::COND_wait_status";
event_name short_source timer_end timer_wait operation event_name short_source timer_end timer_wait operation
wait/synch/cond/sql/MDL_context::COND_wait_status mdl.cc: NULL NULL timed_wait wait/synch/cond/sql/MDL_context::COND_wait_status mdl.cc: SET SET timed_wait
unlock tables; unlock tables;
update performance_schema.setup_instruments set enabled='NO'; update performance_schema.setup_instruments set enabled='NO';
update performance_schema.setup_instruments set enabled='YES'; update performance_schema.setup_instruments set enabled='YES';

View File

@ -110,6 +110,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -38,6 +38,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -37,7 +37,7 @@ select digest, digest_text, count_star
from performance_schema.events_statements_summary_by_digest from performance_schema.events_statements_summary_by_digest
where digest_text like "%in_%_digest%"; where digest_text like "%in_%_digest%";
digest digest_text count_star digest digest_text count_star
f1cd3e758822a4ef0e1502ec30818476 SELECT ? AS in_master_digest 1 1281ed1e23aaa2e5528e90ebf98cfbdd SELECT ? AS `in_master_digest` 1
insert into test.marker values (2); insert into test.marker values (2);
**** On Slave **** **** On Slave ****
select * from test.marker; select * from test.marker;
@ -64,7 +64,7 @@ select digest, digest_text, count_star
from performance_schema.events_statements_summary_by_digest from performance_schema.events_statements_summary_by_digest
where digest_text like "%in_%_digest%"; where digest_text like "%in_%_digest%";
digest digest_text count_star digest digest_text count_star
c1cef2eb67ca48bb5d81d2e5e68aaf35 SELECT ? AS in_slave_digest 1 e0d84aed3bfac675887b38c4902f057f SELECT ? AS `in_slave_digest` 1
**** On Master **** **** On Master ****
delete from performance_schema.setup_objects delete from performance_schema.setup_objects
where object_schema='master'; where object_schema='master';

View File

@ -98,20 +98,20 @@ drop database marker2_db;
select thread_id, event_id, rpad(event_name, 28, ' ') event_name, rpad(current_schema, 10, ' ') current_schema, rpad(digest_text, 72, ' ') digest_text, sql_text from performance_schema.events_statements_history_long select thread_id, event_id, rpad(event_name, 28, ' ') event_name, rpad(current_schema, 10, ' ') current_schema, rpad(digest_text, 72, ' ') digest_text, sql_text from performance_schema.events_statements_history_long
where sql_text like '%marker%' order by event_id; where sql_text like '%marker%' order by event_id;
thread_id event_id event_name current_schema digest_text sql_text thread_id event_id event_name current_schema digest_text sql_text
[THREAD_ID] [EVENT_ID] statement/sql/create_db test CREATE SCHEMA marker1_db create database marker1_db [THREAD_ID] [EVENT_ID] statement/sql/create_db test CREATE SCHEMA `marker1_db` create database marker1_db
[THREAD_ID] [EVENT_ID] statement/sql/create_db test CREATE SCHEMA marker2_db create database marker2_db [THREAD_ID] [EVENT_ID] statement/sql/create_db test CREATE SCHEMA `marker2_db` create database marker2_db
[THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE marker1_db . table1 ( s1 INTEGER ) ENGINE = innodb create table marker1_db.table1 (s1 int) engine=innodb [THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE `marker1_db` . `table1` ( `s1` INTEGER ) ENGINE = `innodb` create table marker1_db.table1 (s1 int) engine=innodb
[THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE marker2_db . table1 ( s1 INTEGER ) ENGINE = innodb create table marker2_db.table1 (s1 int) engine=innodb [THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE `marker2_db` . `table1` ( `s1` INTEGER ) ENGINE = `innodb` create table marker2_db.table1 (s1 int) engine=innodb
[THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE marker2_db . table2 ( s1 INTEGER ) ENGINE = innodb create table marker2_db.table2 (s1 int) engine=innodb [THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE `marker2_db` . `table2` ( `s1` INTEGER ) ENGINE = `innodb` create table marker2_db.table2 (s1 int) engine=innodb
[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO marker1_db . table1 VALUES (?) /* , ... */ insert into marker1_db.table1 values (1), (2), (3) [THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker1_db` . `table1` VALUES (?) /* , ... */ insert into marker1_db.table1 values (1), (2), (3)
[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO marker2_db . table1 VALUES (?) /* , ... */ insert into marker2_db.table1 values (1), (2), (3) [THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker2_db` . `table1` VALUES (?) /* , ... */ insert into marker2_db.table1 values (1), (2), (3)
[THREAD_ID] [EVENT_ID] statement/sql/alter_table test ALTER TABLE marker1_db . table1 ADD COLUMN ( s2 VARCHARACTER (?) ) alter table marker1_db.table1 add column (s2 varchar(32)) [THREAD_ID] [EVENT_ID] statement/sql/alter_table test ALTER TABLE `marker1_db` . `table1` ADD COLUMN ( `s2` VARCHARACTER (?) ) alter table marker1_db.table1 add column (s2 varchar(32))
[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO marker1_db . table1 VALUES (...) /* , ... */ insert into marker1_db.table1 values (4, 'four'), (5, 'five'), (6, 'six') [THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker1_db` . `table1` VALUES (...) /* , ... */ insert into marker1_db.table1 values (4, 'four'), (5, 'five'), (6, 'six')
[THREAD_ID] [EVENT_ID] statement/sql/update test UPDATE marker1_db . table1 SET s1 = s1 + ? update marker1_db.table1 set s1 = s1 + 1 [THREAD_ID] [EVENT_ID] statement/sql/update test UPDATE `marker1_db` . `table1` SET `s1` = `s1` + ? update marker1_db.table1 set s1 = s1 + 1
[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO marker1_db . table1 VALUES (...) /* , ... */ insert into marker1_db.table1 values (7, 'seven'), (8, 'eight'), (9, 'nine') [THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker1_db` . `table1` VALUES (...) /* , ... */ insert into marker1_db.table1 values (7, 'seven'), (8, 'eight'), (9, 'nine')
[THREAD_ID] [EVENT_ID] statement/sql/delete test DELETE FROM marker1_db . table1 WHERE s1 > ? delete from marker1_db.table1 where s1 > 4 [THREAD_ID] [EVENT_ID] statement/sql/delete test DELETE FROM `marker1_db` . `table1` WHERE `s1` > ? delete from marker1_db.table1 where s1 > 4
[THREAD_ID] [EVENT_ID] statement/sql/drop_table test DROP TABLE marker2_db . table1 drop table marker2_db.table1 [THREAD_ID] [EVENT_ID] statement/sql/drop_table test DROP TABLE `marker2_db` . `table1` drop table marker2_db.table1
[THREAD_ID] [EVENT_ID] statement/sql/drop_db test DROP SCHEMA marker2_db drop database marker2_db [THREAD_ID] [EVENT_ID] statement/sql/drop_db test DROP SCHEMA `marker2_db` drop database marker2_db
# #
# STEP 4 - REPLICATE STATEMENT EVENTS ON MASTER TO SLAVE # STEP 4 - REPLICATE STATEMENT EVENTS ON MASTER TO SLAVE
@ -138,39 +138,39 @@ where (thread_id=@my_thread_id and digest_text like '%marker%'));
select thread_id, event_id, rpad(event_name, 28, ' ') event_name, rpad(current_schema, 10, ' ') current_schema, rpad(digest_text, 72, ' ') digest_text, sql_text from master_events_statements_history_long order by event_id; select thread_id, event_id, rpad(event_name, 28, ' ') event_name, rpad(current_schema, 10, ' ') current_schema, rpad(digest_text, 72, ' ') digest_text, sql_text from master_events_statements_history_long order by event_id;
thread_id event_id event_name current_schema digest_text sql_text thread_id event_id event_name current_schema digest_text sql_text
[THREAD_ID] [EVENT_ID] statement/sql/create_db test CREATE SCHEMA marker1_db create database marker1_db [THREAD_ID] [EVENT_ID] statement/sql/create_db test CREATE SCHEMA `marker1_db` create database marker1_db
[THREAD_ID] [EVENT_ID] statement/sql/create_db test CREATE SCHEMA marker2_db create database marker2_db [THREAD_ID] [EVENT_ID] statement/sql/create_db test CREATE SCHEMA `marker2_db` create database marker2_db
[THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE marker1_db . table1 ( s1 INTEGER ) ENGINE = innodb create table marker1_db.table1 (s1 int) engine=innodb [THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE `marker1_db` . `table1` ( `s1` INTEGER ) ENGINE = `innodb` create table marker1_db.table1 (s1 int) engine=innodb
[THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE marker2_db . table1 ( s1 INTEGER ) ENGINE = innodb create table marker2_db.table1 (s1 int) engine=innodb [THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE `marker2_db` . `table1` ( `s1` INTEGER ) ENGINE = `innodb` create table marker2_db.table1 (s1 int) engine=innodb
[THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE marker2_db . table2 ( s1 INTEGER ) ENGINE = innodb create table marker2_db.table2 (s1 int) engine=innodb [THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE `marker2_db` . `table2` ( `s1` INTEGER ) ENGINE = `innodb` create table marker2_db.table2 (s1 int) engine=innodb
[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO marker1_db . table1 VALUES (?) /* , ... */ insert into marker1_db.table1 values (1), (2), (3) [THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker1_db` . `table1` VALUES (?) /* , ... */ insert into marker1_db.table1 values (1), (2), (3)
[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO marker2_db . table1 VALUES (?) /* , ... */ insert into marker2_db.table1 values (1), (2), (3) [THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker2_db` . `table1` VALUES (?) /* , ... */ insert into marker2_db.table1 values (1), (2), (3)
[THREAD_ID] [EVENT_ID] statement/sql/alter_table test ALTER TABLE marker1_db . table1 ADD COLUMN ( s2 VARCHARACTER (?) ) alter table marker1_db.table1 add column (s2 varchar(32)) [THREAD_ID] [EVENT_ID] statement/sql/alter_table test ALTER TABLE `marker1_db` . `table1` ADD COLUMN ( `s2` VARCHARACTER (?) ) alter table marker1_db.table1 add column (s2 varchar(32))
[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO marker1_db . table1 VALUES (...) /* , ... */ insert into marker1_db.table1 values (4, 'four'), (5, 'five'), (6, 'six') [THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker1_db` . `table1` VALUES (...) /* , ... */ insert into marker1_db.table1 values (4, 'four'), (5, 'five'), (6, 'six')
[THREAD_ID] [EVENT_ID] statement/sql/update test UPDATE marker1_db . table1 SET s1 = s1 + ? update marker1_db.table1 set s1 = s1 + 1 [THREAD_ID] [EVENT_ID] statement/sql/update test UPDATE `marker1_db` . `table1` SET `s1` = `s1` + ? update marker1_db.table1 set s1 = s1 + 1
[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO marker1_db . table1 VALUES (...) /* , ... */ insert into marker1_db.table1 values (7, 'seven'), (8, 'eight'), (9, 'nine') [THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker1_db` . `table1` VALUES (...) /* , ... */ insert into marker1_db.table1 values (7, 'seven'), (8, 'eight'), (9, 'nine')
[THREAD_ID] [EVENT_ID] statement/sql/delete test DELETE FROM marker1_db . table1 WHERE s1 > ? delete from marker1_db.table1 where s1 > 4 [THREAD_ID] [EVENT_ID] statement/sql/delete test DELETE FROM `marker1_db` . `table1` WHERE `s1` > ? delete from marker1_db.table1 where s1 > 4
[THREAD_ID] [EVENT_ID] statement/sql/drop_table test DROP TABLE marker2_db . table1 drop table marker2_db.table1 [THREAD_ID] [EVENT_ID] statement/sql/drop_table test DROP TABLE `marker2_db` . `table1` drop table marker2_db.table1
[THREAD_ID] [EVENT_ID] statement/sql/drop_db test DROP SCHEMA marker2_db drop database marker2_db [THREAD_ID] [EVENT_ID] statement/sql/drop_db test DROP SCHEMA `marker2_db` drop database marker2_db
*** List statement events on slave *** List statement events on slave
select thread_id, event_id, rpad(event_name, 28, ' ') event_name, rpad(current_schema, 10, ' ') current_schema, rpad(digest_text, 72, ' ') digest_text, sql_text from performance_schema.events_statements_history_long select thread_id, event_id, rpad(event_name, 28, ' ') event_name, rpad(current_schema, 10, ' ') current_schema, rpad(digest_text, 72, ' ') digest_text, sql_text from performance_schema.events_statements_history_long
where thread_id = @slave_thread_id and sql_text like '%marker%' order by event_id; where thread_id = @slave_thread_id and sql_text like '%marker%' order by event_id;
thread_id event_id event_name current_schema digest_text sql_text thread_id event_id event_name current_schema digest_text sql_text
[THREAD_ID] [EVENT_ID] statement/sql/create_db marker1_db CREATE SCHEMA marker1_db create database marker1_db [THREAD_ID] [EVENT_ID] statement/sql/create_db marker1_db CREATE SCHEMA `marker1_db` create database marker1_db
[THREAD_ID] [EVENT_ID] statement/sql/create_db marker2_db CREATE SCHEMA marker2_db create database marker2_db [THREAD_ID] [EVENT_ID] statement/sql/create_db marker2_db CREATE SCHEMA `marker2_db` create database marker2_db
[THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE marker1_db . table1 ( s1 INTEGER ) ENGINE = innodb create table marker1_db.table1 (s1 int) engine=innodb [THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE `marker1_db` . `table1` ( `s1` INTEGER ) ENGINE = `innodb` create table marker1_db.table1 (s1 int) engine=innodb
[THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE marker2_db . table1 ( s1 INTEGER ) ENGINE = innodb create table marker2_db.table1 (s1 int) engine=innodb [THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE `marker2_db` . `table1` ( `s1` INTEGER ) ENGINE = `innodb` create table marker2_db.table1 (s1 int) engine=innodb
[THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE marker2_db . table2 ( s1 INTEGER ) ENGINE = innodb create table marker2_db.table2 (s1 int) engine=innodb [THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE `marker2_db` . `table2` ( `s1` INTEGER ) ENGINE = `innodb` create table marker2_db.table2 (s1 int) engine=innodb
[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO marker1_db . table1 VALUES (?) /* , ... */ insert into marker1_db.table1 values (1), (2), (3) [THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker1_db` . `table1` VALUES (?) /* , ... */ insert into marker1_db.table1 values (1), (2), (3)
[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO marker2_db . table1 VALUES (?) /* , ... */ insert into marker2_db.table1 values (1), (2), (3) [THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker2_db` . `table1` VALUES (?) /* , ... */ insert into marker2_db.table1 values (1), (2), (3)
[THREAD_ID] [EVENT_ID] statement/sql/alter_table test ALTER TABLE marker1_db . table1 ADD COLUMN ( s2 VARCHARACTER (?) ) alter table marker1_db.table1 add column (s2 varchar(32)) [THREAD_ID] [EVENT_ID] statement/sql/alter_table test ALTER TABLE `marker1_db` . `table1` ADD COLUMN ( `s2` VARCHARACTER (?) ) alter table marker1_db.table1 add column (s2 varchar(32))
[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO marker1_db . table1 VALUES (...) /* , ... */ insert into marker1_db.table1 values (4, 'four'), (5, 'five'), (6, 'six') [THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker1_db` . `table1` VALUES (...) /* , ... */ insert into marker1_db.table1 values (4, 'four'), (5, 'five'), (6, 'six')
[THREAD_ID] [EVENT_ID] statement/sql/update test UPDATE marker1_db . table1 SET s1 = s1 + ? update marker1_db.table1 set s1 = s1 + 1 [THREAD_ID] [EVENT_ID] statement/sql/update test UPDATE `marker1_db` . `table1` SET `s1` = `s1` + ? update marker1_db.table1 set s1 = s1 + 1
[THREAD_ID] [EVENT_ID] statement/sql/delete test DELETE FROM marker1_db . table1 WHERE s1 > ? delete from marker1_db.table1 where s1 > 4 [THREAD_ID] [EVENT_ID] statement/sql/delete test DELETE FROM `marker1_db` . `table1` WHERE `s1` > ? delete from marker1_db.table1 where s1 > 4
[THREAD_ID] [EVENT_ID] statement/sql/drop_table test DROP TABLE `marker2_db` . `table1` DROP TABLE `marker2_db`.`table1` /* generated by server */ [THREAD_ID] [EVENT_ID] statement/sql/drop_table test DROP TABLE `marker2_db` . `table1` DROP TABLE `marker2_db`.`table1` /* generated by server */
[THREAD_ID] [EVENT_ID] statement/sql/drop_db marker2_db DROP SCHEMA marker2_db drop database marker2_db [THREAD_ID] [EVENT_ID] statement/sql/drop_db marker2_db DROP SCHEMA `marker2_db` drop database marker2_db
*** Compare master and slave events *** Compare master and slave events
@ -190,7 +190,6 @@ where t1.thread_id = @slave_thread_id and
sql_text like '%marker%' and sql_text like '%marker%' and
not exists (select * from master_events_statements_history_long t2 where t2.digest = t1.digest); not exists (select * from master_events_statements_history_long t2 where t2.digest = t1.digest);
thread_id event_id event_name digest digest_text sql_text thread_id event_id event_name digest digest_text sql_text
[THREAD_ID] [EVENT_ID] statement/sql/drop_table [DIGEST] DROP TABLE `marker2_db` . `table1` DROP TABLE `marker2_db`.`table1` /* generated by server */
# #
# STEP 6 - DISABLE REPLICATED STATEMENT EVENTS ON SLAVE # STEP 6 - DISABLE REPLICATED STATEMENT EVENTS ON SLAVE

View File

@ -23,6 +23,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 3504 performance_schema_max_cond_instances 3504
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 7693 performance_schema_max_file_instances 7693

View File

@ -23,6 +23,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 10900 performance_schema_max_cond_instances 10900
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 23385 performance_schema_max_file_instances 23385

View File

@ -23,6 +23,7 @@ performance_schema_events_waits_history_size 5
performance_schema_hosts_size 20 performance_schema_hosts_size 20
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 612 performance_schema_max_cond_instances 612
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 1556 performance_schema_max_file_instances 1556

View File

@ -23,6 +23,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1079 performance_schema_max_cond_instances 1079
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 1754 performance_schema_max_file_instances 1754

View File

@ -14,6 +14,7 @@ performance_schema_events_waits_history_size -1
performance_schema_hosts_size -1 performance_schema_hosts_size -1
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances -1 performance_schema_max_cond_instances -1
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances -1 performance_schema_max_file_instances -1

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 0 performance_schema_max_cond_classes 0
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 0 performance_schema_max_cond_instances 0
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 0 performance_schema_max_file_classes 0
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 0 performance_schema_max_file_instances 0

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 0 performance_schema_hosts_size 0
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 0
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 0
performance_schema_hosts_size 0 performance_schema_hosts_size 0
performance_schema_max_cond_classes 0 performance_schema_max_cond_classes 0
performance_schema_max_cond_instances 0 performance_schema_max_cond_instances 0
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 0 performance_schema_max_file_classes 0
performance_schema_max_file_handles 0 performance_schema_max_file_handles 0
performance_schema_max_file_instances 0 performance_schema_max_file_instances 0
@ -119,6 +120,7 @@ performance_schema_events_waits_history_size 0
performance_schema_hosts_size 0 performance_schema_hosts_size 0
performance_schema_max_cond_classes 0 performance_schema_max_cond_classes 0
performance_schema_max_cond_instances 0 performance_schema_max_cond_instances 0
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 0 performance_schema_max_file_classes 0
performance_schema_max_file_handles 0 performance_schema_max_file_handles 0
performance_schema_max_file_instances 0 performance_schema_max_file_instances 0

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100 performance_schema_hosts_size 100
performance_schema_max_cond_classes 80 performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000 performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50 performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768 performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000 performance_schema_max_file_instances 10000

View File

@ -112,42 +112,41 @@ DROP TRIGGER trg;
SELECT SCHEMA_NAME, DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARNINGS, SELECT SCHEMA_NAME, DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARNINGS,
SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest; SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest;
SCHEMA_NAME DIGEST DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS SCHEMA_NAME DIGEST DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS
statements_digest 8de787d0e3e3a062aea121ff528fcfce TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 0 0 0 statements_digest b12e7d0f2ac88c8fad9ac8dabb347b09 TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1 0 0 0
statements_digest a871edd1a65606b404c0b6e65c1f142c SELECT ? FROM t1 1 0 0 0 statements_digest 390f3ff3444c4de44fcbd052b11caf4e SELECT ? FROM `t1` 2 0 0 0
statements_digest d60830f376a7724280dfc422224bb475 SELECT ? FROM `t1` 1 0 0 0 statements_digest 8726524372f6e4924bbe1393b772498e SELECT ?, ... FROM `t1` 2 0 0 0
statements_digest 09309c60c199a727b7ebed40975e8764 SELECT ?, ... FROM t1 2 0 0 0 statements_digest 5b06fb13fa9af5e8a4ec26bac8f994cd SELECT ? FROM `t2` 1 0 0 0
statements_digest dc0dcaefa9a12455ffed04ac6f89e65d SELECT ? FROM t2 1 0 0 0 statements_digest 82201946968b4baca616292f96e933a7 SELECT ?, ... FROM `t2` 2 0 0 0
statements_digest d274a288509eae2cd7febf2f7fe36274 SELECT ?, ... FROM t2 2 0 0 0 statements_digest 35d365779571257e8837f01b39dd9df5 INSERT INTO `t1` VALUES (?) 2 2 0 0
statements_digest ec913f89e0d8be99014bf78e73228c48 INSERT INTO t1 VALUES (?) 2 2 0 0 statements_digest eaaf6c26e98130ec21cfae1389e3eb94 INSERT INTO `t2` VALUES (?) 1 1 0 0
statements_digest b919ecf2d5544bcdf95e76eb22231c42 INSERT INTO t2 VALUES (?) 1 1 0 0 statements_digest 28f3cfdcfffeff3219bdd255ed15e6ac INSERT INTO `t3` VALUES (...) 4 4 0 0
statements_digest d9030eddb8dca8ee5fcaf79e6f254b41 INSERT INTO t3 VALUES (...) 4 4 0 0 statements_digest 166a9591b81371a6ea389f27cfc1e5fd INSERT INTO `t4` VALUES (...) 1 1 0 0
statements_digest 2ad6d8279781b0fb40bdc8647dc94216 INSERT INTO t4 VALUES (...) 1 1 0 0 statements_digest fb25b9f9146120fb72c3c732e79dcc82 INSERT INTO `t5` VALUES (...) 1 1 0 0
statements_digest 3248c16dc70111225fcffa99641e312b INSERT INTO t5 VALUES (...) 1 1 0 0 statements_digest 58bb7798d974224ff08742502eed1aae INSERT INTO `t1` VALUES (?) /* , ... */ 2 7 0 0
statements_digest 152b6c84a0cbfadcbecde01050eddd66 INSERT INTO t1 VALUES (?) /* , ... */ 2 7 0 0 statements_digest 3352b44dcaf21f59141ea76b5cace5c0 INSERT INTO `t3` VALUES (...) /* , ... */ 1 3 0 0
statements_digest c4cbce33b636e448c29e041b1d5c0eb1 INSERT INTO t3 VALUES (...) /* , ... */ 1 3 0 0 statements_digest 1905c012e5d6a3a12e39b0b3ce13b22a INSERT INTO `t5` VALUES (...) /* , ... */ 1 3 0 0
statements_digest 0bfac9fb577995b116e52ff4aaeaa5b8 INSERT INTO t5 VALUES (...) /* , ... */ 1 3 0 0 statements_digest 981d682c1e63b437c33230eb558d0f64 INSERT INTO `t6` VALUES (...) 5 5 0 0
statements_digest 819acce11785e12f2f73964115632db6 INSERT INTO t6 VALUES (...) 5 5 0 0
statements_digest aeb185ab9b6e9d5a49e47c8741b8acdf SELECT ? + ? 3 0 0 0 statements_digest aeb185ab9b6e9d5a49e47c8741b8acdf SELECT ? + ? 3 0 0 0
statements_digest d3804664eeee11407f3fcbd5c29a1f73 SELECT ? 1 0 0 0 statements_digest d3804664eeee11407f3fcbd5c29a1f73 SELECT ? 1 0 0 0
statements_digest 3b085ab0d2063dfca1a39212e3ea1831 CREATE SCHEMA statements_digest_temp 2 2 0 0 statements_digest 6382c1dfc79755af2dd46113acea142b CREATE SCHEMA `statements_digest_temp` 2 2 0 0
statements_digest 09f9fabef2feb9a54ba01455e5ae83b9 DROP SCHEMA statements_digest_temp 2 0 0 0 statements_digest 256f8dfc97d90a79103ebd6616b8d7aa DROP SCHEMA `statements_digest_temp` 2 0 0 0
statements_digest ff0bb1dfc399aa3bef6a0f3fccd3ef94 SELECT ? FROM no_such_table 1 0 0 1 statements_digest 5315d33e7ef87b104b73912d484af6a3 SELECT ? FROM `no_such_table` 1 0 0 1
statements_digest 590a245c84e63eb100e1ef463f477f1a CREATE TABLE dup_table ( c CHARACTER (?) ) 2 0 0 1 statements_digest dcde8f720a419aa5d52246207268cf6c CREATE TABLE `dup_table` ( `c` CHARACTER (?) ) 2 0 0 1
statements_digest 74078b0776d8333e356b271551587d53 DROP TABLE dup_table 1 0 0 0 statements_digest b4b4abab3f030642444fb32c44f28058 DROP TABLE `dup_table` 1 0 0 0
statements_digest f23641c5ab7e1dd6e0146f66b3fff5c4 INSERT INTO t11 VALUES (?) 1 1 1 0 statements_digest a34ed519fdeb4fe4460038db92ea0c20 INSERT INTO `t11` VALUES (?) 1 1 1 0
statements_digest d3eda26b379bd56340ce84fe395dfff7 SHOW WARNINGS 1 0 0 0 statements_digest d3eda26b379bd56340ce84fe395dfff7 SHOW WARNINGS 1 0 0 0
statements_digest 6bb42dec3094486d5a9e8b0bf460e382 PREPARE stmt FROM ? 1 0 0 0 statements_digest e6aa634cf5a630087fefe9868b018329 PREPARE `stmt` FROM ? 1 0 0 0
statements_digest 3ab1e87eabd9688edf919754cce6348b EXECUTE stmt 2 0 0 0 statements_digest 4de34527c0dfef6ad8387d4359f78c78 EXECUTE `stmt` 2 0 0 0
statements_digest f9438ab7b8eec604338c28a04e5d650f DEALLOCATE PREPARE stmt 1 0 0 0 statements_digest 54592849b6cf7386568c88e7fb20f61e DEALLOCATE PREPARE `stmt` 1 0 0 0
statements_digest 072d6c57d3fe4f0c6a7dabba96f0ccf8 CREATE PROCEDURE p1 ( ) BEGIN SELECT * FROM t12 ; END 1 0 0 0 statements_digest ee90db91a06cedfbcccf80f951dc58cd CREATE PROCEDURE `p1` ( ) BEGIN SELECT * FROM `t12` ; END 1 0 0 0
statements_digest 84554971243e91106214dcb8f4eaa89b CALL p1 ( ) 2 0 0 0 statements_digest f964655a0037d2f194030bd024eab748 CALL `p1` ( ) 2 0 0 0
statements_digest 2bd1e1e6eb445f32e1d4b290c1961e6b DROP PROCEDURE p1 1 0 0 0 statements_digest 788d8223f67ba10d1b97fcaa42fec081 DROP PROCEDURE `p1` 1 0 0 0
statements_digest 5799522044ce9a4fa48dce5f4a3b047a CREATE FUNCTION `func` ( a INTEGER , b INTEGER ) RETURNS INTEGER (?) RETURN a + b 1 0 0 0 statements_digest 5146273ef7d98ee1954d23fd98a35d68 CREATE FUNCTION `func` ( `a` INTEGER , `b` INTEGER ) RETURNS INTEGER (?) RETURN `a` + `b` 1 0 0 0
statements_digest 59cbdd7ffc78a23bc2f650f8158067c6 SELECT func (...) 2 0 0 0 statements_digest 2c9b8e1e7f2ad3ca3c49abb2ea30e871 SELECT `func` (...) 2 0 0 0
statements_digest 0b5a5297689c5036def6af8e8a8ce113 DROP FUNCTION func 1 0 0 0 statements_digest f48e30910f8e7758b818c088916424cd DROP FUNCTION `func` 1 0 0 0
statements_digest 10c7a2262748aa15496375d99f876fb2 CREATE TRIGGER trg BEFORE INSERT ON t12 FOR EACH ROW SET @? := ? 1 0 0 0 statements_digest 53ccf1d241eeb749f1e1b7becc65006f CREATE TRIGGER `trg` BEFORE INSERT ON `t12` FOR EACH ROW SET @? := ? 1 0 0 0
statements_digest bb0154f3d32233f696b95d4127d29a3b INSERT INTO t12 VALUES (?) 2 2 0 0 statements_digest a9722a0717a57275431575c7204d71c1 INSERT INTO `t12` VALUES (?) 2 2 0 0
statements_digest a975545baf024e8a173be77032d8fd01 DROP TRIGGER trg 1 0 0 0 statements_digest 2d48809e6899f63ec304776466a63eef DROP TRIGGER `trg` 1 0 0 0
#################################### ####################################
# CLEANUP # CLEANUP
#################################### ####################################

View File

@ -125,42 +125,41 @@ DROP TRIGGER trg;
#################################### ####################################
SELECT schema_name, digest, digest_text, count_star FROM performance_schema.events_statements_summary_by_digest; SELECT schema_name, digest, digest_text, count_star FROM performance_schema.events_statements_summary_by_digest;
schema_name digest digest_text count_star schema_name digest digest_text count_star
statements_digest 8de787d0e3e3a062aea121ff528fcfce TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 statements_digest b12e7d0f2ac88c8fad9ac8dabb347b09 TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1
statements_digest a871edd1a65606b404c0b6e65c1f142c SELECT ? FROM t1 1 statements_digest 390f3ff3444c4de44fcbd052b11caf4e SELECT ? FROM `t1` 2
statements_digest d60830f376a7724280dfc422224bb475 SELECT ? FROM `t1` 1 statements_digest 8726524372f6e4924bbe1393b772498e SELECT ?, ... FROM `t1` 2
statements_digest 09309c60c199a727b7ebed40975e8764 SELECT ?, ... FROM t1 2 statements_digest 5b06fb13fa9af5e8a4ec26bac8f994cd SELECT ? FROM `t2` 1
statements_digest dc0dcaefa9a12455ffed04ac6f89e65d SELECT ? FROM t2 1 statements_digest 82201946968b4baca616292f96e933a7 SELECT ?, ... FROM `t2` 2
statements_digest d274a288509eae2cd7febf2f7fe36274 SELECT ?, ... FROM t2 2 statements_digest 35d365779571257e8837f01b39dd9df5 INSERT INTO `t1` VALUES (?) 2
statements_digest ec913f89e0d8be99014bf78e73228c48 INSERT INTO t1 VALUES (?) 2 statements_digest eaaf6c26e98130ec21cfae1389e3eb94 INSERT INTO `t2` VALUES (?) 1
statements_digest b919ecf2d5544bcdf95e76eb22231c42 INSERT INTO t2 VALUES (?) 1 statements_digest 28f3cfdcfffeff3219bdd255ed15e6ac INSERT INTO `t3` VALUES (...) 4
statements_digest d9030eddb8dca8ee5fcaf79e6f254b41 INSERT INTO t3 VALUES (...) 4 statements_digest 166a9591b81371a6ea389f27cfc1e5fd INSERT INTO `t4` VALUES (...) 1
statements_digest 2ad6d8279781b0fb40bdc8647dc94216 INSERT INTO t4 VALUES (...) 1 statements_digest fb25b9f9146120fb72c3c732e79dcc82 INSERT INTO `t5` VALUES (...) 1
statements_digest 3248c16dc70111225fcffa99641e312b INSERT INTO t5 VALUES (...) 1 statements_digest 58bb7798d974224ff08742502eed1aae INSERT INTO `t1` VALUES (?) /* , ... */ 2
statements_digest 152b6c84a0cbfadcbecde01050eddd66 INSERT INTO t1 VALUES (?) /* , ... */ 2 statements_digest 3352b44dcaf21f59141ea76b5cace5c0 INSERT INTO `t3` VALUES (...) /* , ... */ 1
statements_digest c4cbce33b636e448c29e041b1d5c0eb1 INSERT INTO t3 VALUES (...) /* , ... */ 1 statements_digest 1905c012e5d6a3a12e39b0b3ce13b22a INSERT INTO `t5` VALUES (...) /* , ... */ 1
statements_digest 0bfac9fb577995b116e52ff4aaeaa5b8 INSERT INTO t5 VALUES (...) /* , ... */ 1 statements_digest 981d682c1e63b437c33230eb558d0f64 INSERT INTO `t6` VALUES (...) 5
statements_digest 819acce11785e12f2f73964115632db6 INSERT INTO t6 VALUES (...) 5
statements_digest aeb185ab9b6e9d5a49e47c8741b8acdf SELECT ? + ? 3 statements_digest aeb185ab9b6e9d5a49e47c8741b8acdf SELECT ? + ? 3
statements_digest d3804664eeee11407f3fcbd5c29a1f73 SELECT ? 1 statements_digest d3804664eeee11407f3fcbd5c29a1f73 SELECT ? 1
statements_digest 3b085ab0d2063dfca1a39212e3ea1831 CREATE SCHEMA statements_digest_temp 2 statements_digest 6382c1dfc79755af2dd46113acea142b CREATE SCHEMA `statements_digest_temp` 2
statements_digest 09f9fabef2feb9a54ba01455e5ae83b9 DROP SCHEMA statements_digest_temp 2 statements_digest 256f8dfc97d90a79103ebd6616b8d7aa DROP SCHEMA `statements_digest_temp` 2
statements_digest ff0bb1dfc399aa3bef6a0f3fccd3ef94 SELECT ? FROM no_such_table 1 statements_digest 5315d33e7ef87b104b73912d484af6a3 SELECT ? FROM `no_such_table` 1
statements_digest 590a245c84e63eb100e1ef463f477f1a CREATE TABLE dup_table ( c CHARACTER (?) ) 2 statements_digest dcde8f720a419aa5d52246207268cf6c CREATE TABLE `dup_table` ( `c` CHARACTER (?) ) 2
statements_digest 74078b0776d8333e356b271551587d53 DROP TABLE dup_table 1 statements_digest b4b4abab3f030642444fb32c44f28058 DROP TABLE `dup_table` 1
statements_digest f23641c5ab7e1dd6e0146f66b3fff5c4 INSERT INTO t11 VALUES (?) 1 statements_digest a34ed519fdeb4fe4460038db92ea0c20 INSERT INTO `t11` VALUES (?) 1
statements_digest d3eda26b379bd56340ce84fe395dfff7 SHOW WARNINGS 1 statements_digest d3eda26b379bd56340ce84fe395dfff7 SHOW WARNINGS 1
statements_digest 6bb42dec3094486d5a9e8b0bf460e382 PREPARE stmt FROM ? 1 statements_digest e6aa634cf5a630087fefe9868b018329 PREPARE `stmt` FROM ? 1
statements_digest 3ab1e87eabd9688edf919754cce6348b EXECUTE stmt 2 statements_digest 4de34527c0dfef6ad8387d4359f78c78 EXECUTE `stmt` 2
statements_digest f9438ab7b8eec604338c28a04e5d650f DEALLOCATE PREPARE stmt 1 statements_digest 54592849b6cf7386568c88e7fb20f61e DEALLOCATE PREPARE `stmt` 1
statements_digest 072d6c57d3fe4f0c6a7dabba96f0ccf8 CREATE PROCEDURE p1 ( ) BEGIN SELECT * FROM t12 ; END 1 statements_digest ee90db91a06cedfbcccf80f951dc58cd CREATE PROCEDURE `p1` ( ) BEGIN SELECT * FROM `t12` ; END 1
statements_digest 84554971243e91106214dcb8f4eaa89b CALL p1 ( ) 2 statements_digest f964655a0037d2f194030bd024eab748 CALL `p1` ( ) 2
statements_digest 2bd1e1e6eb445f32e1d4b290c1961e6b DROP PROCEDURE p1 1 statements_digest 788d8223f67ba10d1b97fcaa42fec081 DROP PROCEDURE `p1` 1
statements_digest 5799522044ce9a4fa48dce5f4a3b047a CREATE FUNCTION `func` ( a INTEGER , b INTEGER ) RETURNS INTEGER (?) RETURN a + b 1 statements_digest 5146273ef7d98ee1954d23fd98a35d68 CREATE FUNCTION `func` ( `a` INTEGER , `b` INTEGER ) RETURNS INTEGER (?) RETURN `a` + `b` 1
statements_digest 59cbdd7ffc78a23bc2f650f8158067c6 SELECT func (...) 2 statements_digest 2c9b8e1e7f2ad3ca3c49abb2ea30e871 SELECT `func` (...) 2
statements_digest 0b5a5297689c5036def6af8e8a8ce113 DROP FUNCTION func 1 statements_digest f48e30910f8e7758b818c088916424cd DROP FUNCTION `func` 1
statements_digest 10c7a2262748aa15496375d99f876fb2 CREATE TRIGGER trg BEFORE INSERT ON t12 FOR EACH ROW SET @? := ? 1 statements_digest 53ccf1d241eeb749f1e1b7becc65006f CREATE TRIGGER `trg` BEFORE INSERT ON `t12` FOR EACH ROW SET @? := ? 1
statements_digest bb0154f3d32233f696b95d4127d29a3b INSERT INTO t12 VALUES (?) 2 statements_digest a9722a0717a57275431575c7204d71c1 INSERT INTO `t12` VALUES (?) 2
statements_digest a975545baf024e8a173be77032d8fd01 DROP TRIGGER trg 1 statements_digest 2d48809e6899f63ec304776466a63eef DROP TRIGGER `trg` 1
SELECT digest, digest_text FROM performance_schema.events_statements_current; SELECT digest, digest_text FROM performance_schema.events_statements_current;
digest digest_text digest digest_text
#################################### ####################################

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