Merge 10.6 into 10.7

This commit is contained in:
Marko Mäkelä 2022-10-13 10:05:29 +03:00
commit 588efca237
183 changed files with 4359 additions and 1077 deletions

View file

@ -1725,7 +1725,7 @@ that may lead to an endless loop.",
&opt_binlog_rows_event_max_encoded_size, 0, &opt_binlog_rows_event_max_encoded_size, 0,
GET_ULONG, REQUIRED_ARG, UINT_MAX/4, 256, ULONG_MAX, 0, 256, 0}, GET_ULONG, REQUIRED_ARG, UINT_MAX/4, 256, ULONG_MAX, 0, 256, 0},
#endif #endif
{"verify-binlog-checksum", 'c', "Verify checksum binlog events.", {"verify-binlog-checksum", 'c', "Verify binlog event checksums.",
(uchar**) &opt_verify_binlog_checksum, (uchar**) &opt_verify_binlog_checksum, (uchar**) &opt_verify_binlog_checksum, (uchar**) &opt_verify_binlog_checksum,
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
{"rewrite-db", OPT_REWRITE_DB, {"rewrite-db", OPT_REWRITE_DB,

View file

@ -1,6 +1,6 @@
/* /*
Copyright (c) 2000, 2015, Oracle and/or its affiliates. Copyright (c) 2000, 2015, Oracle and/or its affiliates.
Copyright (c) 2011, 2017, MariaDB Copyright (c) 2011, 2022, 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
@ -382,11 +382,7 @@ static int write_to_table(char *filename, MYSQL *mysql)
{ {
if (verbose) if (verbose)
fprintf(stdout, "Deleting the old data from table %s\n", tablename); fprintf(stdout, "Deleting the old data from table %s\n", tablename);
#ifdef HAVE_SNPRINTF
snprintf(sql_statement, FN_REFLEN*16+256, "DELETE FROM %s", tablename); snprintf(sql_statement, FN_REFLEN*16+256, "DELETE FROM %s", tablename);
#else
sprintf(sql_statement, "DELETE FROM %s", tablename);
#endif
if (mysql_query(mysql, sql_statement)) if (mysql_query(mysql, sql_statement))
{ {
db_error_with_table(mysql, tablename); db_error_with_table(mysql, tablename);

View file

@ -27,6 +27,7 @@ SET(MY_WARNING_FLAGS
-Wenum-conversion -Wenum-conversion
-Wextra -Wextra
-Wformat-security -Wformat-security
-Wmissing-braces
-Wno-format-truncation -Wno-format-truncation
-Wno-init-self -Wno-init-self
-Wno-nonnull-compare -Wno-nonnull-compare

View file

@ -222,7 +222,6 @@
#cmakedefine HAVE_SIGWAIT 1 #cmakedefine HAVE_SIGWAIT 1
#cmakedefine HAVE_SIGWAITINFO 1 #cmakedefine HAVE_SIGWAITINFO 1
#cmakedefine HAVE_SLEEP 1 #cmakedefine HAVE_SLEEP 1
#cmakedefine HAVE_SNPRINTF 1
#cmakedefine HAVE_STPCPY 1 #cmakedefine HAVE_STPCPY 1
#cmakedefine HAVE_STRERROR 1 #cmakedefine HAVE_STRERROR 1
#cmakedefine HAVE_STRCOLL 1 #cmakedefine HAVE_STRCOLL 1
@ -257,9 +256,6 @@
#cmakedefine STRUCT_TIMESPEC_HAS_TV_SEC 1 #cmakedefine STRUCT_TIMESPEC_HAS_TV_SEC 1
#cmakedefine STRUCT_TIMESPEC_HAS_TV_NSEC 1 #cmakedefine STRUCT_TIMESPEC_HAS_TV_NSEC 1
#define USE_MB 1
#define USE_MB_IDENT 1
/* this means that valgrind headers and macros are available */ /* this means that valgrind headers and macros are available */
#cmakedefine HAVE_VALGRIND_MEMCHECK_H 1 #cmakedefine HAVE_VALGRIND_MEMCHECK_H 1
@ -455,8 +451,8 @@
#cmakedefine MYSQL_DEFAULT_CHARSET_NAME "@MYSQL_DEFAULT_CHARSET_NAME@" #cmakedefine MYSQL_DEFAULT_CHARSET_NAME "@MYSQL_DEFAULT_CHARSET_NAME@"
#cmakedefine MYSQL_DEFAULT_COLLATION_NAME "@MYSQL_DEFAULT_COLLATION_NAME@" #cmakedefine MYSQL_DEFAULT_COLLATION_NAME "@MYSQL_DEFAULT_COLLATION_NAME@"
#cmakedefine USE_MB 1 #cmakedefine USE_MB
#cmakedefine USE_MB_IDENT 1 #cmakedefine USE_MB_IDENT
/* This should mean case insensitive file system */ /* This should mean case insensitive file system */
#cmakedefine FN_NO_CASE_SENSE 1 #cmakedefine FN_NO_CASE_SENSE 1

View file

@ -407,7 +407,6 @@ CHECK_FUNCTION_EXISTS (sigwait HAVE_SIGWAIT)
CHECK_FUNCTION_EXISTS (sigwaitinfo HAVE_SIGWAITINFO) CHECK_FUNCTION_EXISTS (sigwaitinfo HAVE_SIGWAITINFO)
CHECK_FUNCTION_EXISTS (sigset HAVE_SIGSET) CHECK_FUNCTION_EXISTS (sigset HAVE_SIGSET)
CHECK_FUNCTION_EXISTS (sleep HAVE_SLEEP) CHECK_FUNCTION_EXISTS (sleep HAVE_SLEEP)
CHECK_FUNCTION_EXISTS (snprintf HAVE_SNPRINTF)
CHECK_FUNCTION_EXISTS (stpcpy HAVE_STPCPY) CHECK_FUNCTION_EXISTS (stpcpy HAVE_STPCPY)
CHECK_FUNCTION_EXISTS (strcoll HAVE_STRCOLL) CHECK_FUNCTION_EXISTS (strcoll HAVE_STRCOLL)
CHECK_FUNCTION_EXISTS (strerror HAVE_STRERROR) CHECK_FUNCTION_EXISTS (strerror HAVE_STRERROR)

View file

@ -22,4 +22,3 @@ eval SET PASSWORD FOR testuser1@'$IPv6' = PASSWORD ('9876');
--replace_result ::1 localhost --replace_result ::1 localhost
SELECT USER(); SELECT USER();
eval DROP USER testuser1@'$IPv6'; eval DROP USER testuser1@'$IPv6';

View file

@ -2,3 +2,5 @@
# We can use this to schedule such test early (to not be left with # We can use this to schedule such test early (to not be left with
# only one or two long tests running, and rests of works idle), or to # only one or two long tests running, and rests of works idle), or to
# run a quick test skipping long-running test cases. # run a quick test skipping long-running test cases.
--source include/no_valgrind_without_big.inc

View file

@ -1,3 +1,5 @@
--source include/no_valgrind_without_big.inc
# ==== Purpose ==== # ==== Purpose ====
# #
# Configure two servers to be replication master and slave. # Configure two servers to be replication master and slave.

View file

@ -1,3 +1,4 @@
--source include/no_valgrind_without_big.inc
--source include/have_innodb.inc --source include/have_innodb.inc
# #
# Test of alter table # Test of alter table

View file

@ -1,6 +1,8 @@
# Turn on compression between the client and server # Turn on compression between the client and server
# and run a number of tests # and run a number of tests
# Too slow for valgrind
--source include/no_valgrind_without_big.inc
# Can't test with embedded server # Can't test with embedded server
-- source include/not_embedded.inc -- source include/not_embedded.inc
-- source include/have_compress.inc -- source include/have_compress.inc

View file

@ -567,5 +567,14 @@ SELECT * FROM t3;
ERROR HY000: Table 't3' was not locked with LOCK TABLES ERROR HY000: Table 't3' was not locked with LOCK TABLES
UNLOCK TABLES; UNLOCK TABLES;
DROP TABLE t3; DROP TABLE t3;
#
# MDEV-29697 Assertion failure in Diagnostics_area::set_ok_status
# upon CREATE OR REPLACE causing ER_UPDATE_TABLE_USED
#
CREATE TABLE t (a INT) ENGINE=MyISAM;
CREATE TABLE tm (a INT) ENGINE=MERGE UNION(t);
CREATE OR REPLACE TABLE t LIKE tm;
ERROR HY000: Table 'tm' is specified twice, both as a target for 'CREATE' and as a separate source for data
DROP TABLE IF EXISTS tm, t;
# End of 10.4 tests # End of 10.4 tests
SET GLOBAL innodb_stats_persistent=@save_persistent; SET GLOBAL innodb_stats_persistent=@save_persistent;

View file

@ -508,6 +508,18 @@ SELECT * FROM t3;
UNLOCK TABLES; UNLOCK TABLES;
DROP TABLE t3; DROP TABLE t3;
--echo #
--echo # MDEV-29697 Assertion failure in Diagnostics_area::set_ok_status
--echo # upon CREATE OR REPLACE causing ER_UPDATE_TABLE_USED
--echo #
CREATE TABLE t (a INT) ENGINE=MyISAM;
CREATE TABLE tm (a INT) ENGINE=MERGE UNION(t);
--error ER_UPDATE_TABLE_USED
CREATE OR REPLACE TABLE t LIKE tm;
# Cleanup
DROP TABLE IF EXISTS tm, t;
--echo # End of 10.4 tests --echo # End of 10.4 tests
SET GLOBAL innodb_stats_persistent=@save_persistent; SET GLOBAL innodb_stats_persistent=@save_persistent;

View file

@ -1,3 +1,4 @@
-- source include/no_valgrind_without_big.inc
-- source include/have_big5.inc -- source include/have_big5.inc
# #

View file

@ -1,3 +1,4 @@
-- source include/no_valgrind_without_big.inc
-- source include/have_gb2312.inc -- source include/have_gb2312.inc
# #

View file

@ -1,3 +1,4 @@
--source include/no_valgrind_without_big.inc
-- source include/have_gbk.inc -- source include/have_gbk.inc
# #

View file

@ -1,3 +1,4 @@
-- source include/no_valgrind_without_big.inc
-- source include/have_sjis.inc -- source include/have_sjis.inc
# #

View file

@ -1,3 +1,4 @@
--source include/no_valgrind_without_big.inc
# #
# Tests with the utf8 character set # Tests with the utf8 character set
# #

View file

@ -1,5 +1,6 @@
source include/have_profiling.inc; source include/have_profiling.inc;
source include/not_embedded.inc; source include/not_embedded.inc;
source include/no_valgrind_without_big.inc;
set global max_allowed_packet=1073741824; set global max_allowed_packet=1073741824;
connect u,localhost,root; connect u,localhost,root;

View file

@ -1,5 +1,5 @@
-- source include/have_geometry.inc --source include/no_valgrind_without_big.inc
--source include/have_geometry.inc
# #
# Spatial objects # Spatial objects

View file

@ -195,4 +195,29 @@ connection default;
DROP USER 'user2'@'%'; DROP USER 'user2'@'%';
DROP DATABASE temp; DROP DATABASE temp;
set global sql_mode=default; set global sql_mode=default;
End of 5.0 tests #
# End of 5.0 tests
#
create database db1;
create user foo@localhost;
grant create on db1.* to foo@localhost;
connect foo,localhost,foo;
create temporary table t as values (1),(2),(3);
use db1;
create table t1 as select * from test.t;
ERROR 42000: INSERT command denied to user 'foo'@'localhost' for table `db1`.`t1`
create table t1 as values (1),(2),(3);
ERROR 42000: INSERT command denied to user 'foo'@'localhost' for table `db1`.`t1`
create table t1 (a int);
disconnect foo;
connection default;
revoke create on db1.* from foo@localhost;
grant insert on db1.* to foo@localhost;
connect foo,localhost,foo;
use db1;
create table t2 as values (1),(2),(3);
ERROR 42000: CREATE command denied to user 'foo'@'localhost' for table `db1`.`t2`
disconnect foo;
connection default;
drop user foo@localhost;
drop database db1;

View file

@ -207,7 +207,35 @@ DROP USER 'user2'@'%';
DROP DATABASE temp; DROP DATABASE temp;
set global sql_mode=default; set global sql_mode=default;
--echo End of 5.0 tests --echo #
--echo # End of 5.0 tests
--echo #
create database db1;
create user foo@localhost;
grant create on db1.* to foo@localhost;
connect foo,localhost,foo;
create temporary table t as values (1),(2),(3);
use db1;
--error ER_TABLEACCESS_DENIED_ERROR
create table t1 as select * from test.t;
--error ER_TABLEACCESS_DENIED_ERROR
create table t1 as values (1),(2),(3);
create table t1 (a int);
disconnect foo;
connection default;
revoke create on db1.* from foo@localhost;
grant insert on db1.* to foo@localhost;
connect foo,localhost,foo;
use db1;
--error ER_TABLEACCESS_DENIED_ERROR
create table t2 as values (1),(2),(3);
disconnect foo;
connection default;
drop user foo@localhost;
drop database db1;
# Wait till we reached the initial number of concurrent sessions # Wait till we reached the initial number of concurrent sessions
--source include/wait_until_count_sessions.inc --source include/wait_until_count_sessions.inc

View file

@ -3,6 +3,7 @@
# The queries in this file test query execution via QUICK_GROUP_MIN_MAX_SELECT. # The queries in this file test query execution via QUICK_GROUP_MIN_MAX_SELECT.
# #
--source include/no_valgrind_without_big.inc
--source include/default_optimizer_switch.inc --source include/default_optimizer_switch.inc
--source include/have_sequence.inc --source include/have_sequence.inc
--source include/have_innodb.inc --source include/have_innodb.inc

View file

@ -11,6 +11,7 @@
# #
# Slow test, don't run during staging part # Slow test, don't run during staging part
--source include/long_test.inc
--source include/not_staging.inc --source include/not_staging.inc
--source include/have_innodb.inc --source include/have_innodb.inc

View file

@ -9,6 +9,7 @@
# wrapper t/index_merge_innodb.test sources now several # wrapper t/index_merge_innodb.test sources now several
# include/index_merge*.inc files # include/index_merge*.inc files
# #
--source include/no_valgrind_without_big.inc
SET DEFAULT_STORAGE_ENGINE = MyISAM; SET DEFAULT_STORAGE_ENGINE = MyISAM;
# MyISAM supports Merge tables # MyISAM supports Merge tables

View file

@ -2,6 +2,7 @@
# information_schema_db.test whose results depends on which engines are # information_schema_db.test whose results depends on which engines are
# available (since these engines inject tables into INFORMATION_SCHEMA). # available (since these engines inject tables into INFORMATION_SCHEMA).
--source include/no_valgrind_without_big.inc
--source include/not_embedded.inc --source include/not_embedded.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/have_perfschema.inc --source include/have_perfschema.inc

View file

@ -1,4 +1,5 @@
--source include/innodb_prefix_index_cluster_optimization.inc --source include/innodb_prefix_index_cluster_optimization.inc
--source include/no_valgrind_without_big.inc
SET SESSION DEFAULT_STORAGE_ENGINE='InnoDB'; SET SESSION DEFAULT_STORAGE_ENGINE='InnoDB';

View file

@ -1,9 +1,11 @@
--source include/no_valgrind_without_big.inc
--source include/default_optimizer_switch.inc
--source include/default_charset.inc
--disable_warnings --disable_warnings
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11; DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11;
DROP DATABASE IF EXISTS world; DROP DATABASE IF EXISTS world;
--enable_warnings --enable_warnings
--source include/default_optimizer_switch.inc
--source include/default_charset.inc
set @org_optimizer_switch=@@optimizer_switch; set @org_optimizer_switch=@@optimizer_switch;
set @save_join_cache_level=@@join_cache_level; set @save_join_cache_level=@@join_cache_level;

View file

@ -1,3 +1,5 @@
--source include/no_valgrind_without_big.inc
# #
# Testing of slow log query options # Testing of slow log query options
# #

File diff suppressed because it is too large Load diff

View file

@ -10,6 +10,7 @@ CREATE TABLE types (
type TEXT NOT NULL, type TEXT NOT NULL,
prefix_length INT NOT NULL prefix_length INT NOT NULL
); );
--disable_ps_protocol
INSERT INTO types (type, prefix_length) VALUES INSERT INTO types (type, prefix_length) VALUES
('INT', 0), ('INT', 0),
('BIGINT', 0), ('BIGINT', 0),
@ -29,6 +30,7 @@ INSERT INTO types (type, prefix_length) VALUES
('TEXT', 12), ('TEXT', 12),
('TEXT', 16), ('TEXT', 16),
('TEXT', 100); ('TEXT', 100);
--enable_ps_protocol
DELIMITER $$; DELIMITER $$;
BEGIN NOT ATOMIC BEGIN NOT ATOMIC
DECLARE create2_template TEXT DECLARE create2_template TEXT
@ -53,6 +55,8 @@ BEGIN NOT ATOMIC
SELECT tabledef AS ``; SELECT tabledef AS ``;
EXECUTE IMMEDIATE tabledef; EXECUTE IMMEDIATE tabledef;
SHOW WARNINGS; SHOW WARNINGS;
SELECT * FROM t1;
SHOW WARNINGS;
SHOW CREATE TABLE t1; SHOW CREATE TABLE t1;
DROP TABLE t1; DROP TABLE t1;
END; END;

View file

@ -3,6 +3,7 @@
# No need to run this with embedded server # No need to run this with embedded server
--source include/not_embedded.inc --source include/not_embedded.inc
--source include/check_ipv6.inc --source include/check_ipv6.inc
--source include/no_valgrind_without_big.inc
# need to have the dynamic loading turned on for the client plugin tests # need to have the dynamic loading turned on for the client plugin tests
--source include/have_plugin_auth.inc --source include/have_plugin_auth.inc

View file

@ -2,6 +2,7 @@
-- source include/have_working_dns.inc -- source include/have_working_dns.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
-- source include/have_partition.inc -- source include/have_partition.inc
-- source include/no_valgrind_without_big.inc
set sql_mode=""; set sql_mode="";

View file

@ -1,3 +1,4 @@
--source include/no_valgrind_without_big.inc
--source include/have_utf8mb4.inc --source include/have_utf8mb4.inc
call mtr.add_suppression("@003f.frm' \\(errno: 22\\)"); call mtr.add_suppression("@003f.frm' \\(errno: 22\\)");

View file

@ -1,3 +1,4 @@
--source include/no_valgrind_without_big.inc
# #
# Testing ORDER BY # Testing ORDER BY
# #

View file

@ -200,7 +200,96 @@ pk
2 2
delete from t1; delete from t1;
drop table t1; drop table t1;
#
# MDEV-28576 RENAME COLUMN with NOCOPY algorithm leads to corrupt partitioned table
#
create table t (a int, b int) partition by list (b) (partition p1 values in (1, 2));
insert into t values (0, 1), (2, 2);
alter table t change b f int, change a b int, algorithm=nocopy;
check table t;
Table Op Msg_type Msg_text
test.t check status OK
delete from t order by b limit 1;
drop table t;
# End of 10.3 tests # End of 10.3 tests
#
# MDEV-28576 RENAME COLUMN with NOCOPY algorithm leads to corrupt partitioned table
#
create table t (a int)
partition by list (a)
subpartition by hash(a) subpartitions 2
(partition p0 values in (1));
alter table t rename column a to b, algorithm=nocopy;
show create table t;
Table Create Table
t CREATE TABLE `t` (
`b` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`b`)
SUBPARTITION BY HASH (`b`)
SUBPARTITIONS 2
(PARTITION `p0` VALUES IN (1) ENGINE = MyISAM)
alter table t rename column b to c, algorithm=copy;
show create table t;
Table Create Table
t CREATE TABLE `t` (
`c` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`c`)
SUBPARTITION BY HASH (`c`)
SUBPARTITIONS 2
(PARTITION `p0` VALUES IN (1) ENGINE = MyISAM)
drop table t;
create table t (d int, e int)
partition by list columns (d, e)
subpartition by key (d, e)
(partition p0 values in ((2, 3)));
alter table t rename column d to f, rename column e to g, algorithm=nocopy;
show create table t;
Table Create Table
t CREATE TABLE `t` (
`f` int(11) DEFAULT NULL,
`g` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST COLUMNS(`f`,`g`)
SUBPARTITION BY KEY (`f`,`g`)
(PARTITION `p0` VALUES IN ((2,3)) ENGINE = MyISAM)
alter table t rename column f to h, rename column g to i, algorithm=copy;
show create table t;
Table Create Table
t CREATE TABLE `t` (
`h` int(11) DEFAULT NULL,
`i` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST COLUMNS(`h`,`i`)
SUBPARTITION BY KEY (`h`,`i`)
(PARTITION `p0` VALUES IN ((2,3)) ENGINE = MyISAM)
drop table t;
create table t (k int, l int)
partition by range (k)
subpartition by hash(l) subpartitions 4
(partition p0 values less than (5));
alter table t rename column k to l, rename column l to k;
show create table t;
Table Create Table
t CREATE TABLE `t` (
`l` int(11) DEFAULT NULL,
`k` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY RANGE (`l`)
SUBPARTITION BY HASH (`k`)
SUBPARTITIONS 4
(PARTITION `p0` VALUES LESS THAN (5) ENGINE = MyISAM)
drop table t;
create table t (a int, b int) partition by list (b) (partition p1 values in (1, 2));
insert into t values (0, 1), (2, 2);
alter table t rename column b to f, rename column a to b, algorithm=nocopy;
check table t;
Table Op Msg_type Msg_text
test.t check status OK
delete from t order by b limit 1;
drop table t;
# End of 10.5 tests
create or replace table t1 (x int primary key) create or replace table t1 (x int primary key)
partition by range(x) ( partition by range(x) (
p1 values less than (10), p1 values less than (10),
@ -265,3 +354,4 @@ partition by list(x) (
partitio values in (2, 3, 4), partitio values in (2, 3, 4),
pn values in (52, 53, 54)); pn values in (52, 53, 54));
drop table t1; drop table t1;
# End of 10.7 tests

View file

@ -185,8 +185,60 @@ select * from t1 partition(p1);
delete from t1; delete from t1;
drop table t1; drop table t1;
--echo #
--echo # MDEV-28576 RENAME COLUMN with NOCOPY algorithm leads to corrupt partitioned table
--echo #
create table t (a int, b int) partition by list (b) (partition p1 values in (1, 2));
insert into t values (0, 1), (2, 2);
alter table t change b f int, change a b int, algorithm=nocopy;
check table t;
delete from t order by b limit 1;
# cleanup
drop table t;
--echo # End of 10.3 tests --echo # End of 10.3 tests
--echo #
--echo # MDEV-28576 RENAME COLUMN with NOCOPY algorithm leads to corrupt partitioned table
--echo #
create table t (a int)
partition by list (a)
subpartition by hash(a) subpartitions 2
(partition p0 values in (1));
alter table t rename column a to b, algorithm=nocopy;
show create table t;
alter table t rename column b to c, algorithm=copy;
show create table t;
drop table t;
create table t (d int, e int)
partition by list columns (d, e)
subpartition by key (d, e)
(partition p0 values in ((2, 3)));
alter table t rename column d to f, rename column e to g, algorithm=nocopy;
show create table t;
alter table t rename column f to h, rename column g to i, algorithm=copy;
show create table t;
drop table t;
create table t (k int, l int)
partition by range (k)
subpartition by hash(l) subpartitions 4
(partition p0 values less than (5));
alter table t rename column k to l, rename column l to k;
show create table t;
drop table t;
create table t (a int, b int) partition by list (b) (partition p1 values in (1, 2));
insert into t values (0, 1), (2, 2);
alter table t rename column b to f, rename column a to b, algorithm=nocopy;
check table t;
delete from t order by b limit 1;
# cleanup
drop table t;
--echo # End of 10.5 tests
create or replace table t1 (x int primary key) create or replace table t1 (x int primary key)
partition by range(x) ( partition by range(x) (
p1 values less than (10), p1 values less than (10),
@ -233,3 +285,5 @@ partition by list(x) (
pn values in (52, 53, 54)); pn values in (52, 53, 54));
drop table t1; drop table t1;
--echo # End of 10.7 tests

View file

@ -2,6 +2,7 @@
--source include/not_embedded.inc --source include/not_embedded.inc
--source include/mysql_upgrade_preparation.inc --source include/mysql_upgrade_preparation.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/no_valgrind_without_big.inc
SET GLOBAL SQL_MODE=""; SET GLOBAL SQL_MODE="";
SET LOCAL SQL_MODE=""; SET LOCAL SQL_MODE="";

View file

@ -4,10 +4,11 @@
-- source include/have_pool_of_threads.inc -- source include/have_pool_of_threads.inc
-- source include/default_optimizer_switch.inc -- source include/default_optimizer_switch.inc
SET optimizer_switch='outer_join_with_cache=off';
# Slow test, don't run during staging part # Slow test, don't run during staging part
-- source include/not_staging.inc -- source include/not_staging.inc
-- source include/long_test.inc -- source include/long_test.inc
SET optimizer_switch='outer_join_with_cache=off';
-- source include/common-tests.inc -- source include/common-tests.inc
SET optimizer_switch=default; SET optimizer_switch=default;

View file

@ -1,5 +1,6 @@
-- source include/have_query_cache.inc -- source include/have_query_cache.inc
-- source include/long_test.inc -- source include/long_test.inc
-- source include/no_valgrind_without_big.inc
set @save_query_cache_size=@@query_cache_size; set @save_query_cache_size=@@query_cache_size;
# #

View file

@ -2,6 +2,7 @@
--source include/have_query_cache.inc --source include/have_query_cache.inc
--source include/have_debug_sync.inc --source include/have_debug_sync.inc
--source include/long_test.inc --source include/long_test.inc
--source include/no_valgrind_without_big.inc
set global query_cache_type= ON; set global query_cache_type= ON;
set @save_query_cache_size=@@global.query_cache_size; set @save_query_cache_size=@@global.query_cache_size;

View file

@ -1,3 +1,4 @@
--source include/no_valgrind_without_big.inc
# #
# Problem with range optimizer # Problem with range optimizer
# #

View file

@ -4,6 +4,7 @@
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/have_debug.inc --source include/have_debug.inc
--source include/no_valgrind_without_big.inc
--disable_warnings --disable_warnings
drop table if exists t0, t1, t2; drop table if exists t0, t1, t2;

View file

@ -1,3 +1,4 @@
--source include/no_valgrind_without_big.inc
--source include/default_optimizer_switch.inc --source include/default_optimizer_switch.inc
--source include/default_charset.inc --source include/default_charset.inc
--source include/have_sequence.inc --source include/have_sequence.inc

View file

@ -1,3 +1,4 @@
--source include/no_valgrind_without_big.inc
--source include/have_innodb.inc --source include/have_innodb.inc
SET SESSION DEFAULT_STORAGE_ENGINE='InnoDB'; SET SESSION DEFAULT_STORAGE_ENGINE='InnoDB';

View file

@ -1,4 +1,5 @@
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/no_valgrind_without_big.inc
set default_storage_engine=innodb; set default_storage_engine=innodb;
--source include/rowid_filter_debug_kill.inc --source include/rowid_filter_debug_kill.inc

View file

@ -2,6 +2,8 @@
# Find string "NOTE NOTE NOTE" in order to find some 'unsure' tests # Find string "NOTE NOTE NOTE" in order to find some 'unsure' tests
# #
--source include/no_valgrind_without_big.inc
# #
# Simple select test # Simple select test
# #

View file

@ -1,3 +1,4 @@
--source include/no_valgrind_without_big.inc
--source include/have_stat_tables.inc --source include/have_stat_tables.inc
--source include/have_sequence.inc --source include/have_sequence.inc
--source include/default_charset.inc --source include/default_charset.inc

View file

@ -1,3 +1,4 @@
--source include/no_valgrind_without_big.inc
--source include/have_partition.inc --source include/have_partition.inc
--source include/have_sequence.inc --source include/have_sequence.inc

View file

@ -6,6 +6,7 @@
-- source include/have_64bit.inc -- source include/have_64bit.inc
# No point in running with valgrind as it takes 1.5 hours # No point in running with valgrind as it takes 1.5 hours
-- source include/not_valgrind.inc -- source include/not_valgrind.inc
# This test often times out with MemorySanitizer.
-- source include/not_msan.inc -- source include/not_msan.inc
# Save the initial number of concurrent sessions # Save the initial number of concurrent sessions

View file

@ -1,3 +1,4 @@
--source include/no_valgrind_without_big.inc
# Turn on ssl between the client and server # Turn on ssl between the client and server
# and run a number of tests # and run a number of tests

View file

@ -4,7 +4,9 @@ set @innodb_stats_persistent_sample_pages_save=
set global innodb_stats_persistent= 1; set global innodb_stats_persistent= 1;
set global innodb_stats_persistent_sample_pages=100; set global innodb_stats_persistent_sample_pages=100;
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/no_valgrind_without_big.inc
SET SESSION DEFAULT_STORAGE_ENGINE='InnoDB'; SET SESSION DEFAULT_STORAGE_ENGINE='InnoDB';

View file

@ -1,3 +1,4 @@
--source include/no_valgrind_without_big.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/have_sequence.inc --source include/have_sequence.inc

View file

@ -1,6 +1,7 @@
# Note that this test requires a fresh restart to not have problems with the # Note that this test requires a fresh restart to not have problems with the
# old status values # old status values
--source include/no_valgrind_without_big.inc
--source include/have_stat_tables.inc --source include/have_stat_tables.inc
--source include/have_debug_sync.inc --source include/have_debug_sync.inc
--source include/not_embedded.inc --source include/not_embedded.inc

View file

@ -1,3 +1,4 @@
--source include/no_valgrind_without_big.inc
--source include/have_stat_tables.inc --source include/have_stat_tables.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--disable_warnings --disable_warnings

View file

@ -1,3 +1,4 @@
-- source include/no_valgrind_without_big.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
# Note: the tests uses only non-semijoin subqueries so semi-join switch # Note: the tests uses only non-semijoin subqueries so semi-join switch

View file

@ -1,3 +1,4 @@
--source include/no_valgrind_without_big.inc
# #
# Nested Loops semi-join subquery evaluation tests # Nested Loops semi-join subquery evaluation tests
# #

View file

@ -1,6 +1,7 @@
# #
# Run subselect_sj.test with BKA enabled # Run subselect_sj.test with BKA enabled
# #
--source include/no_valgrind_without_big.inc
--source include/default_optimizer_switch.inc --source include/default_optimizer_switch.inc
set @save_optimizer_switch_jcl6=@@optimizer_switch; set @save_optimizer_switch_jcl6=@@optimizer_switch;

View file

@ -1,6 +1,7 @@
# This test uses chmod, can't be run with root permissions # This test uses chmod, can't be run with root permissions
-- source include/not_as_root.inc -- source include/not_as_root.inc
--source include/default_charset.inc -- source include/no_valgrind_without_big.inc
-- source include/default_charset.inc
# #
# Basic triggers test # Basic triggers test

View file

@ -1,5 +1,6 @@
--source include/have_sequence.inc --source include/have_sequence.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/no_valgrind_without_big.inc
create table t1 (old_c1 integer, old_c2 integer,c1 integer, c2 integer, c3 integer) engine=InnoDB STATS_PERSISTENT=0; create table t1 (old_c1 integer, old_c2 integer,c1 integer, c2 integer, c3 integer) engine=InnoDB STATS_PERSISTENT=0;
create view v1 as select * from t1 where c2=2; create view v1 as select * from t1 where c2=2;

View file

@ -1,6 +1,7 @@
# #
# Window Functions Tests # Window Functions Tests
# #
--source include/no_valgrind_without_big.inc
--source include/have_sequence.inc --source include/have_sequence.inc
--disable_warnings --disable_warnings

View file

@ -1,3 +1,5 @@
--source include/no_valgrind_without_big.inc
set max_recursive_iterations=200000; set max_recursive_iterations=200000;
create table test_table (id int, random_data varchar(36), static_int int, static_varchar varchar(10)); create table test_table (id int, random_data varchar(36), static_int int, static_varchar varchar(10));

View file

@ -4,22 +4,44 @@
# It will create 'wsrep' schema and two tables in it: 'membeship' and 'status' # It will create 'wsrep' schema and two tables in it: 'membeship' and 'status'
# and fill them on every membership or node status change. # and fill them on every membership or node status change.
# #
# Edit parameters below to specify the address and login to server. # Edit parameters below to specify the address and login to server:
#
USER=root USER=root
PSWD=
#
# If these parameters are not set, then the values
# passed by the server are taken:
#
HOST=127.0.0.1 HOST=127.0.0.1
PORT=$NODE_MYPORT_1 PORT=$NODE_MYPORT_1
#
# Edit parameters below to specify SSL parameters:
#
ssl_key=
ssl_cert=
ssl_ca=
ssl_capath=
ssl_cipher=
ssl_crl=
ssl_crlpath=
ssl_verify_server_cert=0
#
# Client executable path:
#
CLIENT="$EXE_MYSQL"
SCHEMA="mtr_wsrep_notify" SCHEMA="mtr_wsrep_notify"
MEMB_TABLE="$SCHEMA.membership" MEMB_TABLE="$SCHEMA.membership"
STATUS_TABLE="$SCHEMA.status" STATUS_TABLE="$SCHEMA.status"
BEGIN=" WSREP_ON='SET wsrep_on=ON'
SET wsrep_on=0; WSREP_OFF='SET wsrep_on=OFF'
BEGIN="$WSREP_OFF;
CREATE SCHEMA IF NOT EXISTS $SCHEMA; CREATE SCHEMA IF NOT EXISTS $SCHEMA;
CREATE TABLE IF NOT EXISTS $MEMB_TABLE ( CREATE TABLE IF NOT EXISTS $MEMB_TABLE (
idx INT, idx INT,
uuid CHAR(40), /* node UUID */ uuid CHAR(40), /* node UUID */
name VARCHAR(32), /* node name */ name VARCHAR(32), /* node name */
addr VARCHAR(256) /* node address */ addr VARCHAR(256) /* node address */
) ENGINE=MEMORY; ) ENGINE=MEMORY;
@ -30,9 +52,8 @@ CREATE TABLE IF NOT EXISTS $STATUS_TABLE (
uuid CHAR(40), /* cluster UUID */ uuid CHAR(40), /* cluster UUID */
prim BOOLEAN /* if component is primary */ prim BOOLEAN /* if component is primary */
) ENGINE=MEMORY; ) ENGINE=MEMORY;
BEGIN; BEGIN"
" END="COMMIT; $WSREP_ON"
END="COMMIT;"
configuration_change() configuration_change()
{ {
@ -40,7 +61,7 @@ configuration_change()
local idx=0 local idx=0
for NODE in $(echo $MEMBERS | sed s/,/\ /g) for NODE in $(echo "$MEMBERS" | sed s/,/\ /g)
do do
echo "INSERT INTO $MEMB_TABLE VALUES ( $idx, " echo "INSERT INTO $MEMB_TABLE VALUES ( $idx, "
# Don't forget to properly quote string values # Don't forget to properly quote string values
@ -51,7 +72,7 @@ configuration_change()
echo "INSERT INTO $STATUS_TABLE VALUES($idx, $INDEX, '$STATUS', '$CLUSTER_UUID', $PRIMARY);" echo "INSERT INTO $STATUS_TABLE VALUES($idx, $INDEX, '$STATUS', '$CLUSTER_UUID', $PRIMARY);"
echo "$END" echo "$END;"
} }
status_update() status_update()
@ -59,17 +80,44 @@ status_update()
echo "$BEGIN; UPDATE $STATUS_TABLE SET status='$STATUS'; $END;" echo "$BEGIN; UPDATE $STATUS_TABLE SET status='$STATUS'; $END;"
} }
trim_string()
{
if [ -n "${BASH_VERSION:-}" ]; then
local pattern="[![:space:]${2:-}]"
local x="${1#*$pattern}"
local z=${#1}
x=${#x}
if [ $x -ne $z ]; then
local y="${1%$pattern*}"
y=${#y}
x=$(( z-x-1 ))
y=$(( y-x+1 ))
printf '%s' "${1:$x:$y}"
else
printf ''
fi
else
local pattern="[[:space:]${2:-}]"
echo "$1" | sed -E "s/^$pattern+|$pattern+\$//g"
fi
}
COM=status_update # not a configuration change by default COM=status_update # not a configuration change by default
while [ $# -gt 0 ] STATUS=""
do CLUSTER_UUID=""
PRIMARY="0"
INDEX=""
MEMBERS=""
while [ $# -gt 0 ]; do
case $1 in case $1 in
--status) --status)
STATUS=$2 STATUS=$(trim_string "$2")
shift shift
;; ;;
--uuid) --uuid)
CLUSTER_UUID=$2 CLUSTER_UUID=$(trim_string "$2")
shift shift
;; ;;
--primary) --primary)
@ -78,22 +126,75 @@ do
shift shift
;; ;;
--index) --index)
INDEX=$2 INDEX=$(trim_string "$2")
shift shift
;; ;;
--members) --members)
MEMBERS=$2 MEMBERS=$(trim_string "$2")
shift shift
;; ;;
esac esac
shift shift
done done
case $STATUS in USER=$(trim_string "$USER")
"joined" | "donor" | "synced") PSWD=$(trim_string "$PSWD")
$COM | mysql -B -u$USER -h$HOST -P$PORT
HOST=$(trim_string "$HOST")
PORT=$(trim_string "$PORT")
case "$HOST" in
\[*)
HOST="${HOST##\[}"
HOST=$(trim_string "${HOST%%\]}")
;;
esac
if [ -z "$HOST" ]; then
HOST="${NOTIFY_HOST:-}"
fi
if [ -z "$PORT" ]; then
PORT="${NOTIFY_PORT:-}"
fi
ssl_key=$(trim_string "$ssl_key");
ssl_cert=$(trim_string "$ssl_cert");
ssl_ca=$(trim_string "$ssl_ca");
ssl_capath=$(trim_string "$ssl_capath");
ssl_cipher=$(trim_string "$ssl_cipher");
ssl_crl=$(trim_string "$ssl_crl");
ssl_crlpath=$(trim_string "$ssl_crlpath");
ssl_verify_server_cert=$(trim_string "$ssl_verify_server_cert");
SSL_PARAM=""
if [ -n "$ssl_key" -o -n "$ssl_cert" -o \
-n "$ssl_ca" -o -n "$ssl_capath" -o \
-n "$ssl_cipher" ]
then
SSL_PARAM=' --ssl'
[ -n "$ssl_key" ] && SSL_PARAM="$SSL_PARAM --ssl-key='$ssl_key'"
[ -n "$ssl_cert" ] && SSL_PARAM="$SSL_PARAM --ssl-cert='$ssl_cert'"
[ -n "$ssl_ca" ] && SSL_PARAM="$SSL_PARAM --ssl-ca='$ssl_ca'"
[ -n "$ssl_capath" ] && SSL_PARAM="$SSL_PARAM --ssl-capath='$ssl_capath'"
[ -n "$ssl_cipher" ] && SSL_PARAM="$SSL_PARAM --ssl-cipher='$ssl_cipher'"
[ -n "$ssl_crl" ] && SSL_PARAM="$SSL_PARAM --ssl-crl='$ssl_crl'"
[ -n "$ssl_crlpath" ] && SSL_PARAM="$SSL_PARAM --ssl-crlpath='$ssl_crlpath'"
if [ -n "$ssl_verify_server_cert" ]; then
if [ $ssl_verify_server_cert -ne 0 ]; then
SSL_PARAM+=' --ssl-verify-server-cert'
fi
fi
fi
case "$STATUS" in
'joined' | 'donor' | 'synced')
"$COM" | eval "$CLIENT" -B "-u'$USER'"${PSWD:+" -p'$PSWD'"}\
"-h'$HOST'" "-P$PORT"$SSL_PARAM
;; ;;
*) *)
exit 0 # The node might be shutting down or not initialized
;; ;;
esac esac
exit 0

View file

@ -0,0 +1,200 @@
#!/bin/sh -eu
# This is a simple example of wsrep notification script (wsrep_notify_cmd).
# It will create 'wsrep' schema and two tables in it: 'membeship' and 'status'
# and fill them on every membership or node status change.
#
# Edit parameters below to specify the address and login to server:
#
USER=root
PSWD=
#
# If these parameters are not set, then the values
# passed by the server are taken:
#
HOST=127.0.0.1
PORT=$NODE_MYPORT_1
#
# Edit parameters below to specify SSL parameters:
#
ssl_cert="$MYSQL_TEST_DIR/std_data/client-cert.pem"
ssl_key="$MYSQL_TEST_DIR/std_data/client-key.pem"
ssl_ca="$MYSQL_TEST_DIR/std_data/cacert.pem"
ssl_capath=
ssl_cipher=
ssl_crl=
ssl_crlpath=
ssl_verify_server_cert=0
#
# Client executable path:
#
CLIENT="$EXE_MYSQL"
SCHEMA="mtr_wsrep_notify"
MEMB_TABLE="$SCHEMA.membership"
STATUS_TABLE="$SCHEMA.status"
WSREP_ON='SET wsrep_on=ON'
WSREP_OFF='SET wsrep_on=OFF'
BEGIN="$WSREP_OFF;
CREATE SCHEMA IF NOT EXISTS $SCHEMA;
CREATE TABLE IF NOT EXISTS $MEMB_TABLE (
idx INT,
uuid CHAR(40), /* node UUID */
name VARCHAR(32), /* node name */
addr VARCHAR(256) /* node address */
) ENGINE=MEMORY;
CREATE TABLE IF NOT EXISTS $STATUS_TABLE (
size INT, /* component size */
idx INT, /* this node index */
status CHAR(16), /* this node status */
uuid CHAR(40), /* cluster UUID */
prim BOOLEAN /* if component is primary */
) ENGINE=MEMORY;
BEGIN"
END="COMMIT; $WSREP_ON"
configuration_change()
{
echo "$BEGIN;"
local idx=0
for NODE in $(echo "$MEMBERS" | sed s/,/\ /g)
do
echo "INSERT INTO $MEMB_TABLE VALUES ( $idx, "
# Don't forget to properly quote string values
echo "'$NODE'" | sed s/\\//\',\'/g
echo ");"
idx=$(( $idx + 1 ))
done
echo "INSERT INTO $STATUS_TABLE VALUES($idx, $INDEX, '$STATUS', '$CLUSTER_UUID', $PRIMARY);"
echo "$END;"
}
status_update()
{
echo "$BEGIN; UPDATE $STATUS_TABLE SET status='$STATUS'; $END;"
}
trim_string()
{
if [ -n "${BASH_VERSION:-}" ]; then
local pattern="[![:space:]${2:-}]"
local x="${1#*$pattern}"
local z=${#1}
x=${#x}
if [ $x -ne $z ]; then
local y="${1%$pattern*}"
y=${#y}
x=$(( z-x-1 ))
y=$(( y-x+1 ))
printf '%s' "${1:$x:$y}"
else
printf ''
fi
else
local pattern="[[:space:]${2:-}]"
echo "$1" | sed -E "s/^$pattern+|$pattern+\$//g"
fi
}
COM=status_update # not a configuration change by default
STATUS=""
CLUSTER_UUID=""
PRIMARY="0"
INDEX=""
MEMBERS=""
while [ $# -gt 0 ]; do
case $1 in
--status)
STATUS=$(trim_string "$2")
shift
;;
--uuid)
CLUSTER_UUID=$(trim_string "$2")
shift
;;
--primary)
[ "$2" = "yes" ] && PRIMARY="1" || PRIMARY="0"
COM=configuration_change
shift
;;
--index)
INDEX=$(trim_string "$2")
shift
;;
--members)
MEMBERS=$(trim_string "$2")
shift
;;
esac
shift
done
USER=$(trim_string "$USER")
PSWD=$(trim_string "$PSWD")
HOST=$(trim_string "$HOST")
PORT=$(trim_string "$PORT")
case "$HOST" in
\[*)
HOST="${HOST##\[}"
HOST=$(trim_string "${HOST%%\]}")
;;
esac
if [ -z "$HOST" ]; then
HOST="${NOTIFY_HOST:-}"
fi
if [ -z "$PORT" ]; then
PORT="${NOTIFY_PORT:-}"
fi
ssl_key=$(trim_string "$ssl_key");
ssl_cert=$(trim_string "$ssl_cert");
ssl_ca=$(trim_string "$ssl_ca");
ssl_capath=$(trim_string "$ssl_capath");
ssl_cipher=$(trim_string "$ssl_cipher");
ssl_crl=$(trim_string "$ssl_crl");
ssl_crlpath=$(trim_string "$ssl_crlpath");
ssl_verify_server_cert=$(trim_string "$ssl_verify_server_cert");
SSL_PARAM=""
if [ -n "$ssl_key" -o -n "$ssl_cert" -o \
-n "$ssl_ca" -o -n "$ssl_capath" -o \
-n "$ssl_cipher" ]
then
SSL_PARAM=' --ssl'
[ -n "$ssl_key" ] && SSL_PARAM="$SSL_PARAM --ssl-key='$ssl_key'"
[ -n "$ssl_cert" ] && SSL_PARAM="$SSL_PARAM --ssl-cert='$ssl_cert'"
[ -n "$ssl_ca" ] && SSL_PARAM="$SSL_PARAM --ssl-ca='$ssl_ca'"
[ -n "$ssl_capath" ] && SSL_PARAM="$SSL_PARAM --ssl-capath='$ssl_capath'"
[ -n "$ssl_cipher" ] && SSL_PARAM="$SSL_PARAM --ssl-cipher='$ssl_cipher'"
[ -n "$ssl_crl" ] && SSL_PARAM="$SSL_PARAM --ssl-crl='$ssl_crl'"
[ -n "$ssl_crlpath" ] && SSL_PARAM="$SSL_PARAM --ssl-crlpath='$ssl_crlpath'"
if [ -n "$ssl_verify_server_cert" ]; then
if [ $ssl_verify_server_cert -ne 0 ]; then
SSL_PARAM+=' --ssl-verify-server-cert'
fi
fi
fi
case "$STATUS" in
'joined' | 'donor' | 'synced')
"$COM" | eval "$CLIENT" -B "-u'$USER'"${PSWD:+" -p'$PSWD'"}\
"-h'$HOST'" "-P$PORT"$SSL_PARAM
;;
*)
# The node might be shutting down or not initialized
;;
esac
exit 0

View file

@ -1,5 +1,6 @@
--source have_federatedx.inc --source have_federatedx.inc
--source include/federated.inc --source include/federated.inc
--source include/no_valgrind_without_big.inc
connection default; connection default;

View file

@ -23,12 +23,12 @@ galera_parallel_simple : MDEV-20318 galera.galera_parallel_simple fails
galera_pc_recovery : MDEV-25199 cluster fails to start up galera_pc_recovery : MDEV-25199 cluster fails to start up
galera_shutdown_nonprim : MDEV-21493 galera.galera_shutdown_nonprim galera_shutdown_nonprim : MDEV-21493 galera.galera_shutdown_nonprim
galera_sst_mysqldump : MDEV-26501 : galera.galera_sst_mysqldump MTR failed: galera SST with mysqldump failed galera_sst_mysqldump : MDEV-26501 : galera.galera_sst_mysqldump MTR failed: galera SST with mysqldump failed
galera_trigger : MDEV-24048 galera.galera_trigger MTR fails: Result content mismatch
galera_unicode_identifiers : MDEV-26500 : galera.galera_unicode_identifiers MTR failed: InnoDB: innodb_fatal_semaphore_wait_threshold was exceeded for dict_sys.mutex galera_unicode_identifiers : MDEV-26500 : galera.galera_unicode_identifiers MTR failed: InnoDB: innodb_fatal_semaphore_wait_threshold was exceeded for dict_sys.mutex
galera_var_dirty_reads : MDEV-25615 Galera test failure on galera_var_dirty_reads galera_var_dirty_reads : MDEV-25615 Galera test failure on galera_var_dirty_reads
galera_var_ignore_apply_errors : MDEV-26770 galera_var_ignore_apply_errors fails Server did not transition to READY state galera_var_ignore_apply_errors : MDEV-26770 galera_var_ignore_apply_errors fails Server did not transition to READY state
galera_var_node_address : MDEV-20485 Galera test failure galera_var_node_address : MDEV-20485 Galera test failure
galera_var_notify_cmd : MDEV-21905 Galera test galera_var_notify_cmd causes hang galera_var_notify_cmd : MDEV-21905 Galera test galera_var_notify_cmd causes hang
galera_var_notify_ssl_ipv6 : hangs after the merge of MDEV-27682
galera_var_retry_autocommit: MDEV-18181 Galera test failure on galera.galera_var_retry_autocommit galera_var_retry_autocommit: MDEV-18181 Galera test failure on galera.galera_var_retry_autocommit
galera_wsrep_provider_unset_set: wsrep_provider is read-only for security reasons galera_wsrep_provider_unset_set: wsrep_provider is read-only for security reasons
partition : MDEV-19958 Galera test failure on galera.partition partition : MDEV-19958 Galera test failure on galera.partition
@ -36,4 +36,5 @@ pxc-421: wsrep_provider is read-only for security reasons
query_cache: MDEV-15805 Test failure on galera.query_cache query_cache: MDEV-15805 Test failure on galera.query_cache
versioning_trx_id: MDEV-18590: galera.versioning_trx_id: Test failure: mysqltest: Result content mismatch versioning_trx_id: MDEV-18590: galera.versioning_trx_id: Test failure: mysqltest: Result content mismatch
galera_bf_abort_at_after_statement : Unstable galera_bf_abort_at_after_statement : Unstable
galera_bf_abort_shutdown : MDEV-29773 Assertion failure on sql/wsrep_mysqld.cc:2893 in wsrep_bf_abort_shutdown

View file

@ -0,0 +1,19 @@
connection node_2;
connection node_1;
connection node_1;
connection node_2;
connection node_2;
CREATE TABLE t3 (c1 INTEGER NOT NULL PRIMARY KEY, c2 FLOAT(3,2));
SET GLOBAL wsrep_provider_options = 'repl.max_ws_size=512';
SET @@autocommit=0;
INSERT INTO t3 VALUES (1000,0.00),(1001,0.25),(1002,0.50),(1003,0.75),(1008,1.00),(1009,1.25),(1010,1.50),(1011,1.75);
CREATE TABLE t1 ( pk int primary key) ENGINE=INNODB;
ERROR HY000: Maximum writeset size exceeded
SHOW WARNINGS;
Level Code Message
Error 1105 Maximum writeset size exceeded
connection node_2;
SET SESSION wsrep_sync_wait = 0;
Killing server ...
connection node_1;
DROP TABLE t3;

View file

@ -0,0 +1,17 @@
connection node_2;
connection node_1;
show variables like 'auto_increment%';
Variable_name Value
auto_increment_increment 3
auto_increment_offset 3
create table t4 (c1 int primary key auto_increment) engine=innodb;
show variables like 'auto_increment%';
Variable_name Value
auto_increment_increment 3
auto_increment_offset 3
alter table t4 add (c2 varchar(50));
show variables like 'auto_increment%';
Variable_name Value
auto_increment_increment 3
auto_increment_offset 3
DROP TABLE t4;

View file

@ -0,0 +1,45 @@
connection node_2;
connection node_1;
connection node_1;
connection node_2;
connection node_1;
call mtr.add_suppression("WSREP: Event .* Write_rows_v1 apply failed:.*");
call mtr.add_suppression("WSREP: Failed to apply write set:.*");
call mtr.add_suppression("WSREP: Inconsistency detected: Inconsistent by consensus on.*");
connection node_2;
call mtr.add_suppression("WSREP: Failed to open table mysql.wsrep_streaming_log for writing");
call mtr.add_suppression("WSREP: Failed to open SR table for write");
call mtr.add_suppression("WSREP: Failed to recover SR transactions from schema: wsrep_on : 0");
call mtr.add_suppression("WSREP: Inconsistency detected: Inconsistent by consensus on.*");
SET @@global.tx_read_only = ON;
SET default_storage_engine = SEQUENCE;
create table t1 (c1 int);
ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by the engine")
CREATE TABLE t1(c1 VARCHAR(20)) engine=innodb;
INSERT INTO t1 VALUES(0xA9B8);
create TABLE t1 (c1 int) engine=innodb;
ERROR 42S01: Table 't1' already exists
create TABLE t1 (c1 int) engine=innodb;
ERROR 42S01: Table 't1' already exists
SET GLOBAL wsrep_on=OFF;
SET GLOBAL wsrep_cluster_address='gcomm://';
INSERT INTO t1 VALUES (1);
SELECT 1;
1
1
SELECT 1;
1
1
COMMIT;
# Killing cluster because we have messed with wsrep_cluster_address
connection node_2;
SET SESSION wsrep_sync_wait = 0;
Killing server ...
connection node_1;
SET SESSION wsrep_sync_wait = 0;
Killing server ...
connection node_2;
call mtr.add_suppression("WSREP: Failed to open table mysql.wsrep_streaming_log for writing");
call mtr.add_suppression("WSREP: Failed to open SR table for write");
call mtr.add_suppression("WSREP: Failed to recover SR transactions from schema: wsrep_on : 0");
DROP TABLE IF EXISTS t1;

View file

@ -4,7 +4,7 @@ connection node_1;
CREATE TABLE t1 (f1 VARCHAR(512)) ENGINE=InnoDB; CREATE TABLE t1 (f1 VARCHAR(512)) ENGINE=InnoDB;
SET GLOBAL wsrep_provider_options = 'repl.max_ws_size=512'; SET GLOBAL wsrep_provider_options = 'repl.max_ws_size=512';
INSERT INTO t1 VALUES (REPEAT('a', 512)); INSERT INTO t1 VALUES (REPEAT('a', 512));
ERROR HY000: Got error 5 "Input/output error" during COMMIT ERROR HY000: Maximum writeset size exceeded
SELECT COUNT(*) = 0 FROM t1; SELECT COUNT(*) = 0 FROM t1;
COUNT(*) = 0 COUNT(*) = 0
1 1

View file

@ -4,7 +4,7 @@ connection node_1;
CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 VARCHAR(1024)) Engine=InnoDB; CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 VARCHAR(1024)) Engine=InnoDB;
SET GLOBAL wsrep_max_ws_size = 1024; SET GLOBAL wsrep_max_ws_size = 1024;
INSERT INTO t1 VALUES (DEFAULT, REPEAT('X', 1024)); INSERT INTO t1 VALUES (DEFAULT, REPEAT('X', 1024));
ERROR HY000: Got error 5 "Input/output error" during COMMIT ERROR HY000: Maximum writeset size exceeded
SELECT COUNT(*) = 0 FROM t1; SELECT COUNT(*) = 0 FROM t1;
COUNT(*) = 0 COUNT(*) = 0
1 1

View file

@ -0,0 +1,13 @@
connection node_2;
connection node_1;
connection node_1;
SELECT COUNT(DISTINCT uuid) AS EXPECT_2 FROM mtr_wsrep_notify.membership;
EXPECT_2
2
SELECT MAX(size) AS EXPECT_2 FROM mtr_wsrep_notify.status;
EXPECT_2
2
SELECT COUNT(DISTINCT idx) AS EXPECT_2 FROM mtr_wsrep_notify.status;
EXPECT_2
2
DROP SCHEMA mtr_wsrep_notify;

View file

@ -0,0 +1,32 @@
--source include/galera_cluster.inc
# Save original auto_increment_offset values.
--let $node_1=node_1
--let $node_2=node_2
--source include/auto_increment_offset_save.inc
--connection node_2
CREATE TABLE t3 (c1 INTEGER NOT NULL PRIMARY KEY, c2 FLOAT(3,2));
SET GLOBAL wsrep_provider_options = 'repl.max_ws_size=512';
SET @@autocommit=0;
INSERT INTO t3 VALUES (1000,0.00),(1001,0.25),(1002,0.50),(1003,0.75),(1008,1.00),(1009,1.25),(1010,1.50),(1011,1.75);
--error ER_UNKNOWN_ERROR
CREATE TABLE t1 ( pk int primary key) ENGINE=INNODB;
SHOW WARNINGS;
--connection node_2
SET SESSION wsrep_sync_wait = 0;
--source include/kill_galera.inc
--let $start_mysqld_params = ""
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
--source include/start_mysqld.inc
#
# Cleanup
#
--source ../../galera/include/auto_increment_offset_restore.inc
--connection node_1
DROP TABLE t3;

View file

@ -0,0 +1,2 @@
--wsrep_auto_increment_control=OFF --auto_increment_increment=3 --auto_increment_offset=3

View file

@ -0,0 +1,8 @@
--source include/galera_cluster.inc
show variables like 'auto_increment%';
create table t4 (c1 int primary key auto_increment) engine=innodb;
show variables like 'auto_increment%';
alter table t4 add (c2 varchar(50));
show variables like 'auto_increment%';
DROP TABLE t4;

View file

@ -0,0 +1,73 @@
--source include/galera_cluster.inc
--source include/have_sequence.inc
--source include/force_restart.inc
# Save original auto_increment_offset values.
--let $node_1=node_1
--let $node_2=node_2
--source include/auto_increment_offset_save.inc
--connection node_1
call mtr.add_suppression("WSREP: Event .* Write_rows_v1 apply failed:.*");
call mtr.add_suppression("WSREP: Failed to apply write set:.*");
call mtr.add_suppression("WSREP: Inconsistency detected: Inconsistent by consensus on.*");
--connection node_2
call mtr.add_suppression("WSREP: Failed to open table mysql.wsrep_streaming_log for writing");
call mtr.add_suppression("WSREP: Failed to open SR table for write");
call mtr.add_suppression("WSREP: Failed to recover SR transactions from schema: wsrep_on : 0");
call mtr.add_suppression("WSREP: Inconsistency detected: Inconsistent by consensus on.*");
SET @@global.tx_read_only = ON;
--error 0,1286
SET default_storage_engine = SEQUENCE;
--error 1005
create table t1 (c1 int);
CREATE TABLE t1(c1 VARCHAR(20)) engine=innodb;
INSERT INTO t1 VALUES(0xA9B8);
--error 1050
create TABLE t1 (c1 int) engine=innodb;
--error 1050
create TABLE t1 (c1 int) engine=innodb;
--let $wsrep_cluster_address_saved = `SELECT @@global.wsrep_cluster_address`
SET GLOBAL wsrep_on=OFF;
SET GLOBAL wsrep_cluster_address='gcomm://';
INSERT INTO t1 VALUES (1);
SELECT 1;
SELECT 1;
COMMIT;
#
# Kill the entire cluster and restart
#
--echo # Killing cluster because we have messed with wsrep_cluster_address
--connection node_2
SET SESSION wsrep_sync_wait = 0;
--source include/kill_galera.inc
--connection node_1
SET SESSION wsrep_sync_wait = 0;
--source include/kill_galera.inc
--remove_file $MYSQLTEST_VARDIR/mysqld.1/data/grastate.dat
--let $start_mysqld_params = "--wsrep-new-cluster"
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--source include/start_mysqld.inc
--connection node_2
--let $start_mysqld_params = ""
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
--source include/start_mysqld.inc
call mtr.add_suppression("WSREP: Failed to open table mysql.wsrep_streaming_log for writing");
call mtr.add_suppression("WSREP: Failed to open SR table for write");
call mtr.add_suppression("WSREP: Failed to recover SR transactions from schema: wsrep_on : 0");
#
# Cleanup
#
--source ../../galera/include/auto_increment_offset_restore.inc
# We killed cluster, it might mean that table does not exists
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings

View file

@ -12,7 +12,7 @@ CREATE TABLE t1 (f1 VARCHAR(512)) ENGINE=InnoDB;
SET GLOBAL wsrep_provider_options = 'repl.max_ws_size=512'; SET GLOBAL wsrep_provider_options = 'repl.max_ws_size=512';
--error ER_ERROR_DURING_COMMIT --error ER_UNKNOWN_ERROR
INSERT INTO t1 VALUES (REPEAT('a', 512)); INSERT INTO t1 VALUES (REPEAT('a', 512));
SELECT COUNT(*) = 0 FROM t1; SELECT COUNT(*) = 0 FROM t1;

View file

@ -12,7 +12,7 @@ CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 VARCHAR(1024)) Engine
--let $wsrep_max_ws_size_orig = `SELECT @@wsrep_max_ws_size` --let $wsrep_max_ws_size_orig = `SELECT @@wsrep_max_ws_size`
SET GLOBAL wsrep_max_ws_size = 1024; SET GLOBAL wsrep_max_ws_size = 1024;
--error ER_ERROR_DURING_COMMIT --error ER_UNKNOWN_ERROR
INSERT INTO t1 VALUES (DEFAULT, REPEAT('X', 1024)); INSERT INTO t1 VALUES (DEFAULT, REPEAT('X', 1024));
SELECT COUNT(*) = 0 FROM t1; SELECT COUNT(*) = 0 FROM t1;

View file

@ -0,0 +1 @@
--wsrep_notify_cmd=$MYSQL_TEST_DIR/std_data/wsrep_notify_ssl.sh --wsrep-sync-wait=0

View file

@ -0,0 +1,20 @@
!include ../galera_2nodes.cnf
[mysqld]
ssl-cert=@ENV.MYSQL_TEST_DIR/std_data/server-cert.pem
ssl-key=@ENV.MYSQL_TEST_DIR/std_data/server-key.pem
ssl-ca=@ENV.MYSQL_TEST_DIR/std_data/cacert.pem
bind-address=::
[mysqld.1]
wsrep_provider_options='base_port=@mysqld.1.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.1.#galera_port;ist.recv_addr=[::1]:@mysqld.1.#ist_port;gcache.size=1;pc.ignore_sb=true'
wsrep_node_incoming_address='[::1]:@mysqld.1.port'
wsrep_node_address=::1
wsrep_sst_receive_address='[::1]:@mysqld.1.#sst_port'
[mysqld.2]
wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
wsrep_provider_options='base_port=@mysqld.2.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.2.#galera_port;ist.recv_addr=[::1]:@mysqld.2.#ist_port;gcache.size=1;pc.ignore_sb=true'
wsrep_node_address=::1
wsrep_node_incoming_address='[::1]:@mysqld.2.port'
wsrep_sst_receive_address='[::1]:@mysqld.2.#sst_port'

View file

@ -0,0 +1,20 @@
#
# Test wsrep_notify_cmd. We use a version of the support-files/wsrep_notify.sh script that writes
# notifications into a table.
#
--source include/galera_cluster.inc
--source include/have_ssl_communication.inc
--source include/check_ipv6.inc
--source include/force_restart.inc
--connection node_1
--let $wait_condition = SELECT COUNT(DISTINCT uuid) = 2 FROM mtr_wsrep_notify.membership;
--source include/wait_condition.inc
SELECT COUNT(DISTINCT uuid) AS EXPECT_2 FROM mtr_wsrep_notify.membership;
SELECT MAX(size) AS EXPECT_2 FROM mtr_wsrep_notify.status;
SELECT COUNT(DISTINCT idx) AS EXPECT_2 FROM mtr_wsrep_notify.status;
# CLEANUP
DROP SCHEMA mtr_wsrep_notify;

View file

@ -17,6 +17,7 @@ galera_gtid_2_cluster : MDEV-23775 Galera test failure on galera_3nodes.galera_g
galera_ist_gcache_rollover : MDEV-23578 WSREP: exception caused by message: {v=0,t=1,ut=255,o=4,s=0,sr=0,as=1,f=6,src=50524cfe,srcvid=view_id(REG,50524cfe,4),insvid=view_id(UNKNOWN,00000000,0),ru=00000000,r=[-1,-1],fs=75,nl=(} galera_ist_gcache_rollover : MDEV-23578 WSREP: exception caused by message: {v=0,t=1,ut=255,o=4,s=0,sr=0,as=1,f=6,src=50524cfe,srcvid=view_id(REG,50524cfe,4),insvid=view_id(UNKNOWN,00000000,0),ru=00000000,r=[-1,-1],fs=75,nl=(}
galera_load_data_ist : MDEV-24639 galera_3nodes.galera_load_data_ist MTR failed with SIGABRT: query 'reap' failed: 2013: Lost connection to server during query galera_load_data_ist : MDEV-24639 galera_3nodes.galera_load_data_ist MTR failed with SIGABRT: query 'reap' failed: 2013: Lost connection to server during query
galera_load_data_ist : MDEV-24639 galera_3nodes.galera_load_data_ist MTR failed with SIGABRT: query 'reap' failed: 2013: Lost connection to server during query galera_load_data_ist : MDEV-24639 galera_3nodes.galera_load_data_ist MTR failed with SIGABRT: query 'reap' failed: 2013: Lost connection to server during query
galera_parallel_apply_3nodes : MDEV-29368 DEBUG_SYNC timeout
galera_pc_bootstrap : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed galera_pc_bootstrap : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed
galera_safe_to_bootstrap : MDEV-24097 galera_3nodes.galera_safe_to_bootstrap MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed galera_safe_to_bootstrap : MDEV-24097 galera_3nodes.galera_safe_to_bootstrap MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed
galera_slave_options_do : MDEV-8798 galera_slave_options_do : MDEV-8798
@ -31,3 +32,4 @@ galera_ipv6_rsync_section : MDEV-24097 MTR sporadaically fails: Failed to start
galera_ssl_reload : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed galera_ssl_reload : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed
galera_toi_vote : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed galera_toi_vote : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed
galera_wsrep_schema_init : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed galera_wsrep_schema_init : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed
galera_parallel_apply_3nodes : MDEV-29774 Galera test galera_parallel_apply_3nodes is unstable

View file

@ -150,10 +150,7 @@ lock table t write;
connection prevent_purge; connection prevent_purge;
commit; commit;
connection default; connection default;
InnoDB 0 transactions not purged
disconnect lock_table; disconnect lock_table;
start transaction with consistent snapshot;
commit;
InnoDB 0 transactions not purged InnoDB 0 transactions not purged
set global debug_dbug=@old_dbug; set global debug_dbug=@old_dbug;
drop table t; drop table t;

View file

@ -191,10 +191,7 @@ lock table t write;
connection prevent_purge; connection prevent_purge;
commit; commit;
connection default; connection default;
--source ../../innodb/include/wait_all_purged.inc
disconnect lock_table; disconnect lock_table;
start transaction with consistent snapshot;
commit;
--source ../../innodb/include/wait_all_purged.inc --source ../../innodb/include/wait_all_purged.inc
set global debug_dbug=@old_dbug; set global debug_dbug=@old_dbug;
drop table t; drop table t;

View file

@ -1082,9 +1082,11 @@ COMMIT;
drop table t2; drop table t2;
DROP TABLE t1; DROP TABLE t1;
# #
# MDEV-19526 heap number overflow # MDEV-19526/MDEV-29742 heap number overflow
# #
CREATE TABLE t1(a SMALLINT NOT NULL UNIQUE AUTO_INCREMENT, KEY(a)) CREATE TABLE t1(a SMALLINT NOT NULL UNIQUE AUTO_INCREMENT, KEY(a))
ENGINE=InnoDB; ENGINE=InnoDB;
INSERT INTO t1 (a) SELECT seq FROM seq_1_to_8191; INSERT INTO t1 (a) SELECT seq FROM seq_1_to_8191;
ALTER TABLE t1 FORCE, ALGORITHM=INPLACE;
DROP TABLE t1; DROP TABLE t1;
# End of 10.3 tests

View file

@ -154,4 +154,19 @@ WHERE LOWER(variable_name) LIKE 'INNODB_BUFFER_POOL_PAGES_FLUSHED';
# FLUSH TABLES t1 FOR EXPORT; # FLUSH TABLES t1 FOR EXPORT;
# UNLOCK TABLES; # UNLOCK TABLES;
DROP TABLE t1; DROP TABLE t1;
#
# MDEV-29666 InnoDB fails to purge secondary index records
# when indexed virtual columns exist
#
CREATE TABLE t1 (a INT, b INT, a1 INT AS(a) VIRTUAL,
INDEX(a1),INDEX(b)) ENGINE=InnoDB;
INSERT INTO t1 SET a=1, b=1;
UPDATE t1 SET a=2, b=3;
InnoDB 0 transactions not purged
FLUSH TABLE t1 FOR EXPORT;
page 4: N_RECS=0x0001
page 5: N_RECS=0x0001
UNLOCK TABLES;
DROP TABLE t1;
# End of 10.3 tests
SET GLOBAL innodb_purge_rseg_truncate_frequency = @saved_frequency; SET GLOBAL innodb_purge_rseg_truncate_frequency = @saved_frequency;

View file

@ -5,6 +5,8 @@
--source include/have_debug.inc --source include/have_debug.inc
--source include/have_debug_sync.inc --source include/have_debug_sync.inc
--source include/have_sequence.inc --source include/have_sequence.inc
# This test often times out with MemorySanitizer.
--source include/not_msan.inc
CREATE TABLE t1(f1 char(200), f2 char(200), f3 char(200), CREATE TABLE t1(f1 char(200), f2 char(200), f3 char(200),
f4 char(200), f5 char(200), f6 char(200), f4 char(200), f5 char(200), f6 char(200),

View file

@ -1,5 +1,6 @@
--source include/not_embedded.inc --source include/not_embedded.inc
--source include/innodb_page_size.inc --source include/innodb_page_size.inc
--source include/no_valgrind_without_big.inc
--echo # --echo #
--echo # Bug#13955083 ALLOW IN-PLACE DDL OPERATIONS ON MISSING --echo # Bug#13955083 ALLOW IN-PLACE DDL OPERATIONS ON MISSING

View file

@ -1,6 +1,7 @@
--source include/have_innodb.inc --source include/have_innodb.inc
# Restarting is not supported when testing the embedded server. # Restarting is not supported when testing the embedded server.
--source include/not_embedded.inc --source include/not_embedded.inc
--source include/no_valgrind_without_big.inc
--echo # --echo #
--echo # MDEV-6076 Persistent AUTO_INCREMENT for InnoDB --echo # MDEV-6076 Persistent AUTO_INCREMENT for InnoDB

View file

@ -1,4 +1,5 @@
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/no_valgrind_without_big.inc
# innodb_change_buffering_debug option is debug only # innodb_change_buffering_debug option is debug only
--source include/have_debug.inc --source include/have_debug.inc
# Embedded server tests do not support restarting # Embedded server tests do not support restarting

View file

@ -641,9 +641,12 @@ drop table t2;
DROP TABLE t1; DROP TABLE t1;
--echo # --echo #
--echo # MDEV-19526 heap number overflow --echo # MDEV-19526/MDEV-29742 heap number overflow
--echo # --echo #
CREATE TABLE t1(a SMALLINT NOT NULL UNIQUE AUTO_INCREMENT, KEY(a)) CREATE TABLE t1(a SMALLINT NOT NULL UNIQUE AUTO_INCREMENT, KEY(a))
ENGINE=InnoDB; ENGINE=InnoDB;
INSERT INTO t1 (a) SELECT seq FROM seq_1_to_8191; INSERT INTO t1 (a) SELECT seq FROM seq_1_to_8191;
ALTER TABLE t1 FORCE, ALGORITHM=INPLACE;
DROP TABLE t1; DROP TABLE t1;
--echo # End of 10.3 tests

View file

@ -2,6 +2,8 @@
--source include/default_charset.inc --source include/default_charset.inc
# need to restart server # need to restart server
--source include/not_embedded.inc --source include/not_embedded.inc
--source include/no_valgrind_without_big.inc
CREATE SCHEMA `repro`; CREATE SCHEMA `repro`;
CREATE TABLE `repro`.`crew` ( CREATE TABLE `repro`.`crew` (

View file

@ -2,6 +2,7 @@
--source include/innodb_encrypt_log.inc --source include/innodb_encrypt_log.inc
--source include/have_debug.inc --source include/have_debug.inc
--source include/have_debug_sync.inc --source include/have_debug_sync.inc
--source include/no_valgrind_without_big.inc
let $innodb_metrics_select= let $innodb_metrics_select=
SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl'; SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';

View file

@ -1,5 +1,6 @@
# MDEV-6424: Mariadb server crashes with assertion failure in file ha_innodb.cc # MDEV-6424: Mariadb server crashes with assertion failure in file ha_innodb.cc
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/no_valgrind_without_big.inc
# DEBUG_SYNC must be compiled in. # DEBUG_SYNC must be compiled in.
--source include/have_debug_sync.inc --source include/have_debug_sync.inc

View file

@ -1,4 +1,5 @@
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/no_valgrind_without_big.inc
# #
# Test that mysqld does not crash when running ANALYZE TABLE with # Test that mysqld does not crash when running ANALYZE TABLE with
# different values of the parameter innodb_stats_transient_sample_pages. # different values of the parameter innodb_stats_transient_sample_pages.

View file

@ -1,5 +1,6 @@
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/have_innodb_punchhole.inc --source include/have_innodb_punchhole.inc
--source include/no_valgrind_without_big.inc
--disable_query_log --disable_query_log
--disable_warnings --disable_warnings

View file

@ -1,4 +1,5 @@
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/no_valgrind_without_big.inc
# Test for Bug #30423, InnoDBs treatment of NULL in index stats causes # Test for Bug #30423, InnoDBs treatment of NULL in index stats causes
# bad "rows examined" estimates. # bad "rows examined" estimates.
# Implemented InnoDB system variable "innodb_stats_method" with # Implemented InnoDB system variable "innodb_stats_method" with

View file

@ -1,4 +1,5 @@
-- source include/have_innodb.inc -- source include/have_innodb.inc
-- source include/no_valgrind_without_big.inc
create table bug53290 (x bigint) engine=innodb; create table bug53290 (x bigint) engine=innodb;

View file

@ -1,5 +1,6 @@
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/have_innodb_16k.inc --source include/have_innodb_16k.inc
--source include/no_valgrind_without_big.inc
--disable_query_log --disable_query_log
call mtr.add_suppression("InnoDB: Upgrade after a crash is not supported"); call mtr.add_suppression("InnoDB: Upgrade after a crash is not supported");

View file

@ -3,6 +3,7 @@
--echo # Bug#16418661 - CHANGING NAME IN FOR INNODB_DATA_FILE_PATH SHOULD NOT SUCCEED WITH LOG FILES --echo # Bug#16418661 - CHANGING NAME IN FOR INNODB_DATA_FILE_PATH SHOULD NOT SUCCEED WITH LOG FILES
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/no_valgrind_without_big.inc
--disable_query_log --disable_query_log
call mtr.add_suppression("InnoDB: Could not create undo tablespace.*undo002"); call mtr.add_suppression("InnoDB: Could not create undo tablespace.*undo002");

View file

@ -2,7 +2,7 @@
# Test the detection of duplicate tablespaces. # Test the detection of duplicate tablespaces.
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/not_valgrind.inc --source include/no_valgrind_without_big.inc
# Embedded server does not support crashing # Embedded server does not support crashing
--source include/not_embedded.inc --source include/not_embedded.inc

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