Skip to content
Permalink
Browse files
Merge 10.6 into 10.7
  • Loading branch information
dr-m committed Jun 14, 2022
2 parents 1bcd87c + 1f1fa7e commit ddf511c
Show file tree
Hide file tree
Showing 24 changed files with 271 additions and 434 deletions.
@@ -1,6 +1,13 @@
# These should be moved, see https://jira.mariadb.org/browse/MDEV-21654
arch-dependent-file-in-usr-share usr/share/mysql/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so
arch-independent-package-contains-binary-or-object usr/share/mysql/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so
# Mainly for support for *BSD family. Not right way to do but this is test package and not for production
incorrect-path-for-interpreter /usr/bin/env perl != /usr/bin/perl [usr/share/mysql/mysql-test/std_data/checkDBI_DBD-MariaDB.pl]
incorrect-path-for-interpreter /usr/bin/env perl != /usr/bin/perl [usr/share/mysql/mysql-test/suite/engines/rr_trx/run_stress_tx_rr.pl]
incorrect-path-for-interpreter /usr/bin/env perl != /usr/bin/perl [usr/share/mysql/mysql-test/suite/funcs_1/lib/DataGen_local.pl]
incorrect-path-for-interpreter /usr/bin/env perl != /usr/bin/perl [usr/share/mysql/mysql-test/suite/funcs_1/lib/DataGen_modify.pl]
incorrect-path-for-interpreter /usr/bin/env perl != /usr/bin/perl [usr/share/mysql/mysql-test/suite/funcs_2/lib/gen_charset_utf8.pl]
incorrect-path-for-interpreter /usr/bin/env perl != /usr/bin/perl [usr/share/mysql/mysql-test/suite/rpl/extension/checksum.pl]
# Intentional for test files
national-encoding usr/share/mysql/mysql-test/*
# Extra test documentation files that really need to be kept in context in test directory
@@ -1,3 +1,8 @@
# These should be moved, see https://jira.mariadb.org/browse/MDEV-21653
arch-dependent-file-in-usr-share usr/share/mysql/mysql-test/lib/My/SafeProcess/my_safe_process
arch-dependent-file-in-usr-share usr/share/mysql/mysql-test/lib/My/SafeProcess/wsrep_check_version
# Mainly for support for *BSD family. Not right way to do but this is test package and not for production
incorrect-path-for-interpreter /usr/bin/env perl != /usr/bin/perl [usr/share/mysql/mysql-test/lib/process-purecov-annotations.pl]
incorrect-path-for-interpreter /usr/bin/env perl != /usr/bin/perl [usr/share/mysql/mysql-test/lib/v1/mysql-test-run.pl]
incorrect-path-for-interpreter /usr/bin/env perl != /usr/bin/perl [usr/share/mysql/mysql-test/mysql-stress-test.pl]
incorrect-path-for-interpreter /usr/bin/env perl != /usr/bin/perl [usr/share/mysql/mysql-test/mysql-test-run.pl]
@@ -4,23 +4,82 @@ version-substvar-for-external-package mariadb-client-core-10.7 -> mysql-client-5
version-substvar-for-external-package mariadb-server-10.7 -> mysql-server
version-substvar-for-external-package libmariadb-dev -> libmysqlclient-dev
version-substvar-for-external-package libmariadb-dev -> libmysqld-dev
version-substvar-for-external-package mariadb-server-10.7 -> mysql-client-5.5
version-substvar-for-external-package mariadb-server-10.7 -> mysql-client-5.6
version-substvar-for-external-package mariadb-server-10.7 -> mysql-client-5.7
version-substvar-for-external-package mariadb-server-10.7 -> mysql-client-8.0
version-substvar-for-external-package mariadb-client-10.7 -> mysql-client-core-5.1
version-substvar-for-external-package mariadb-client-10.7 -> mysql-client-core-5.5
version-substvar-for-external-package mariadb-client-10.7 -> mysql-client-core-5.6
version-substvar-for-external-package mariadb-client-10.7 -> mysql-client-core-5.7
version-substvar-for-external-package mariadb-client-10.7 -> mysql-client-core-8.0
version-substvar-for-external-package mariadb-server-10.7 -> mysql-client-5.*
version-substvar-for-external-package mariadb-server-10.7 -> mysql-client-8.*
version-substvar-for-external-package mariadb-client-10.7 -> mysql-client-core-5.*
version-substvar-for-external-package mariadb-client-10.7 -> mysql-client-core-8.*
version-substvar-for-external-package libmariadbd-dev -> libmariadbclient-dev
# ColumnStore not used in Debian, safe to ignore. Reported upstream in https://jira.mariadb.org/browse/MDEV-24124
source-is-missing storage/columnstore/columnstore/utils/jemalloc/libjemalloc.so.2
# Must be fixed upstream
source-is-missing storage/mroonga/vendor/groonga/examples/dictionary/html/js/jquery-ui-1.8.18.custom.js*
source-is-missing storage/mroonga/vendor/groonga/examples/dictionary/html/js/jquery-ui-*.custom.js
# Intentional control relationships
version-substvar-for-external-package Replaces * ${source:Version} libmariadbd-dev -> libmariadbclient-dev
version-substvar-for-external-package Replaces * ${source:Version} libmariadb-dev -> libmysqlclient-dev
version-substvar-for-external-package Replaces * ${source:Version} libmariadb-dev -> libmysqld-dev
version-substvar-for-external-package Replaces * libmariadbd-dev -> libmariadbclient-dev
version-substvar-for-external-package Replaces * libmariadb-dev -> libmysqlclient-dev
version-substvar-for-external-package Replaces * libmariadb-dev -> libmysqld-dev
# We can't change build dependencies on a stable branch (10.5..10.8) so just override this
missing-build-dependency-for-dh-addon systemd *
# Data or test files where long lines are justified
very-long-line-length-in-source-file *.test *
very-long-line-length-in-source-file *.result *
very-long-line-length-in-source-file BUILD/compile-*
very-long-line-length-in-source-file *COPYING.rtf *
# These are mainly found under extra/wolfssl
very-long-line-length-in-source-file *.cproject *
very-long-line-length-in-source-file *.md *
very-long-line-length-in-source-file *.scfg *
very-long-line-length-in-source-file *.launch *
very-long-line-length-in-source-file extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/test/test_wolfssl.c *
very-long-line-length-in-source-file extra/wolfssl/wolfssl/configure.ac *
very-long-line-length-in-source-file extra/wolfssl/wolfssl/doc/formats/html/html_changes/tabs.css *
# Preprocessed C files which have long lines
very-long-line-length-in-source-file extra/wolfssl/wolfssl/wolfcrypt/src/*.i *
# These are all results for test cases and similar so they can be
# especially formatted to be too long
very-long-line-length-in-source-file mysql-test/*.dump *
very-long-line-length-in-source-file mysql-test/*.inc *
very-long-line-length-in-source-file mysql-test/*.rdiff *
very-long-line-length-in-source-file mysql-test/*.txt *
very-long-line-length-in-source-file mysql-test/*.weekly *
# Test file
very-long-line-length-in-source-file plugin/handler_socket/regtest/test_01_lib/test19.expected *
# SQL source file that has very long inserts/selects
very-long-line-length-in-source-file mysql-test/std_data/init_file_longline_3816.sql *
very-long-line-length-in-source-file scripts/fill_help_tables.sql *
very-long-line-length-in-source-file scripts/mysql_system_tables.sql *
very-long-line-length-in-source-file scripts/mysql_test_data_timezone.sql *
# Machine formated HTML
very-long-line-length-in-source-file sql/share/charsets/languages.html *
very-long-line-length-in-source-file sql/share/errmsg-utf8.txt *
# Very long test string
very-long-line-length-in-source-file storage/archive/archive_test.c line 30 is 1051 characters long (>512)
# autogenerated thrift file
very-long-line-length-in-source-file storage/cassandra/gen-cpp/cassandra_types.h *
# ColumnStore ignores
# In Directory mysql-test are some long test includes
very-long-line-length-in-source-file storage/columnstore/columnstore/.drone.jsonnet *
very-long-line-length-in-source-file storage/columnstore/columnstore/CMakeLists.txt *
very-long-line-length-in-source-file storage/columnstore/columnstore/mysql-test/columnstore/csinternal/include/autopilot_create_datatypetestm_tables.inc *
very-long-line-length-in-source-file storage/columnstore/columnstore/mysql-test/columnstore/csinternal/include/autopilot_create_datatypeupdate_table.inc *
very-long-line-length-in-source-file storage/columnstore/columnstore/*.xmi *
very-long-line-length-in-source-file storage/columnstore/columnstore/dbcon/doc/q19_plan.txt *
very-long-line-length-in-source-file storage/columnstore/columnstore/utils/udfsdk/docs/source/reference/mcsv1Context.rst *
very-long-line-length-in-source-file storage/columnstore/columnstore/utils/winport/win_setup_mysql_part1.sql *
# Minified CSS files. These appear in several places
very-long-line-length-in-source-file *badge_only.css *
very-long-line-length-in-source-file *theme.css line *
# General storage ignores
very-long-line-length-in-source-file storage/mroonga/vendor/groonga/examples/dictionary/html/css/smoothness/jquery-ui-1.8.12.custom.css *
very-long-line-length-in-source-file storage/rocksdb/mysql-test/rocksdb/t/bypass_select_basic_bloom-master.opt *
very-long-line-length-in-source-file storage/rocksdb/mysql-test/rocksdb/t/type_enum.inc *
very-long-line-length-in-source-file storage/rocksdb/mysql-test/rocksdb/t/type_set.inc *
very-long-line-length-in-source-file storage/rocksdb/rocksdb/docs/_includes/footer.html *
very-long-line-length-in-source-file storage/rocksdb/rocksdb/docs/_posts/*.markdown line *
very-long-line-length-in-source-file storage/spider/mysql-test/spider/bugfix/include/sql_mode_init.inc *
very-long-line-length-in-source-file storage/tokudb/PerconaFT/cmake_modules/TokuBuildTagDatabases.cmake *
very-long-line-length-in-source-file storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/m4/po.m4 *
# These are generated files which should not make any harm
source-contains-autogenerated-visual-c++-file storage/columnstore/columnstore/*.rc
source-contains-autogenerated-visual-c++-file storage/columnstore/columnstore/*.h
source-contains-autogenerated-visual-c++-file win/upgrade_wizard/resource.h
source-contains-autogenerated-visual-c++-file win/upgrade_wizard/upgrade.rc
@@ -0,0 +1,16 @@
#
# MDEV-28802 DROP DATABASE in InnoDB still is case-insensitive
#
SET @save_fpt=@@GLOBAL.innodb_file_per_table;
SET GLOBAL innodb_file_per_table=0;
CREATE DATABASE Db;
CREATE TABLE Db.t1 (c1 INT KEY) ENGINE=InnoDB;
CREATE DATABASE DB;
DROP DATABASE DB;
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'D%';
NAME
Db/t1
DROP DATABASE Db;
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'D%';
TABLE_ID NAME FLAG N_COLS SPACE ROW_FORMAT ZIP_PAGE_SIZE SPACE_TYPE
SET GLOBAL innodb_file_per_table=@save_fpt;
@@ -0,0 +1,17 @@
--source include/have_innodb.inc
--source include/have_case_sensitive_file_system.inc

--echo #
--echo # MDEV-28802 DROP DATABASE in InnoDB still is case-insensitive
--echo #

SET @save_fpt=@@GLOBAL.innodb_file_per_table;
SET GLOBAL innodb_file_per_table=0;
CREATE DATABASE Db;
CREATE TABLE Db.t1 (c1 INT KEY) ENGINE=InnoDB;
CREATE DATABASE DB;
DROP DATABASE DB;
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'D%';
DROP DATABASE Db;
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'D%';
SET GLOBAL innodb_file_per_table=@save_fpt;
@@ -19,7 +19,7 @@ INSERT INTO t2 VALUES('mariadb');
connection default;
SET @saved_dbug = @@GLOBAL.debug_dbug;
SET GLOBAL debug_dbug ='+d,fts_instrument_sync_request,ib_optimize_wq_hang';
SET DEBUG_SYNC= 'fts_instrument_sync_request
SET DEBUG_SYNC= 'fts_sync_end
SIGNAL drop_index_start WAIT_FOR sync_op';
INSERT INTO t1 VALUES('Keyword');
connect con1,localhost,root,,,;
@@ -11,19 +11,19 @@ INSERT INTO t1(title) VALUES('database');
connection con1;
SET @old_dbug = @@SESSION.debug_dbug;
SET debug_dbug = '+d,fts_instrument_sync_debug';
SET DEBUG_SYNC= 'fts_write_node SIGNAL written WAIT_FOR selected';
SET DEBUG_SYNC= 'fts_sync_end SIGNAL written WAIT_FOR selected';
INSERT INTO t1(title) VALUES('mysql database');
connection default;
SET DEBUG_SYNC= 'now WAIT_FOR written';
SET GLOBAL innodb_ft_aux_table="test/t1";
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE;
WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE;
WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION
database 2 3 2 2 0
database 2 3 2 3 6
mysql 1 3 2 1 0
mysql 1 3 2 3 0
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE;
WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION
SET GLOBAL innodb_ft_aux_table=default;
SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database');
FTS_DOC_ID title
@@ -59,7 +59,7 @@ INSERT INTO t1(title) VALUES('mysql');
INSERT INTO t1(title) VALUES('database');
connection con1;
SET debug_dbug = '+d,fts_instrument_sync_debug';
SET DEBUG_SYNC= 'fts_write_node SIGNAL written WAIT_FOR inserted';
SET DEBUG_SYNC= 'fts_sync_end SIGNAL written WAIT_FOR inserted';
INSERT INTO t1(title) VALUES('mysql database');
connection default;
SET DEBUG_SYNC= 'now WAIT_FOR written';
@@ -70,14 +70,14 @@ SET debug_dbug = @old_dbug;
SET GLOBAL innodb_ft_aux_table="test/t1";
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE;
WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION
database 4 4 1 4 6
mysql 4 4 1 4 0
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE;
WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION
database 2 3 2 2 0
database 2 3 2 3 6
database 4 4 1 4 6
mysql 1 4 3 1 0
mysql 1 4 3 3 0
mysql 1 4 3 4 0
mysql 1 3 2 1 0
mysql 1 3 2 3 0
SET GLOBAL innodb_ft_aux_table=default;
SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database');
FTS_DOC_ID title
@@ -30,6 +30,7 @@ connection con1;
connection con2;
/* conneciton con2 */ SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database');
FTS_DOC_ID title
1 mysql database
connection default;
# make con1 & con2 show up in mysql.slow_log
SELECT SLEEP(2);
@@ -39,41 +40,11 @@ SLEEP(2)
SELECT sql_text FROM mysql.slow_log WHERE query_time >= '00:00:02';
sql_text
INSERT INTO t1(title) VALUES('mysql database')
SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database')
SET GLOBAL debug_dbug = @old_debug;
TRUNCATE TABLE mysql.slow_log;
DROP TABLE t1;
# Case 2: Sync blocks DML(insert) on other tables.
CREATE TABLE t1 (
FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
title VARCHAR(200),
FULLTEXT(title)
) ENGINE = InnoDB;
CREATE TABLE t2(id INT);
connection con1;
SET GLOBAL debug_dbug='+d,fts_instrument_sync_request,fts_instrument_sync_sleep';
SET DEBUG_SYNC= 'fts_instrument_sync_request SIGNAL begin WAIT_FOR continue';
INSERT INTO t1(title) VALUES('mysql database');
connection con2;
SET DEBUG_SYNC= 'now WAIT_FOR begin';
INSERT INTO t2 VALUES(1);
connection default;
SET DEBUG_SYNC= 'now SIGNAL continue';
connection con1;
/* connection con1 */ INSERT INTO t1(title) VALUES('mysql database');
connection con2;
/* conneciton con2 */ INSERT INTO t2 VALUES(1);
connection default;
SET DEBUG_SYNC = 'RESET';
# make con1 & con2 show up in mysql.slow_log
SELECT SLEEP(2);
SLEEP(2)
0
# slow log results should be empty here.
SELECT sql_text FROM mysql.slow_log WHERE query_time >= '00:00:02';
sql_text
SET GLOBAL debug_dbug = @old_debug;
TRUNCATE TABLE mysql.slow_log;
DROP TABLE t1,t2;
SET DEBUG_SYNC=RESET;
disconnect con1;
disconnect con2;
# Restore slow log settings.
@@ -31,7 +31,7 @@ INSERT INTO t2 VALUES('mariadb');
connection default;
SET @saved_dbug = @@GLOBAL.debug_dbug;
SET GLOBAL debug_dbug ='+d,fts_instrument_sync_request,ib_optimize_wq_hang';
SET DEBUG_SYNC= 'fts_instrument_sync_request
SET DEBUG_SYNC= 'fts_sync_end
SIGNAL drop_index_start WAIT_FOR sync_op';
send INSERT INTO t1 VALUES('Keyword');

@@ -26,7 +26,7 @@ connection con1;
SET @old_dbug = @@SESSION.debug_dbug;
SET debug_dbug = '+d,fts_instrument_sync_debug';

SET DEBUG_SYNC= 'fts_write_node SIGNAL written WAIT_FOR selected';
SET DEBUG_SYNC= 'fts_sync_end SIGNAL written WAIT_FOR selected';

send INSERT INTO t1(title) VALUES('mysql database');

@@ -73,7 +73,7 @@ connection con1;

SET debug_dbug = '+d,fts_instrument_sync_debug';

SET DEBUG_SYNC= 'fts_write_node SIGNAL written WAIT_FOR inserted';
SET DEBUG_SYNC= 'fts_sync_end SIGNAL written WAIT_FOR inserted';

send INSERT INTO t1(title) VALUES('mysql database');

@@ -65,53 +65,7 @@ SET GLOBAL debug_dbug = @old_debug;
TRUNCATE TABLE mysql.slow_log;

DROP TABLE t1;

--echo # Case 2: Sync blocks DML(insert) on other tables.
CREATE TABLE t1 (
FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
title VARCHAR(200),
FULLTEXT(title)
) ENGINE = InnoDB;

CREATE TABLE t2(id INT);

connection con1;

SET GLOBAL debug_dbug='+d,fts_instrument_sync_request,fts_instrument_sync_sleep';

SET DEBUG_SYNC= 'fts_instrument_sync_request SIGNAL begin WAIT_FOR continue';

send INSERT INTO t1(title) VALUES('mysql database');

connection con2;

SET DEBUG_SYNC= 'now WAIT_FOR begin';

send INSERT INTO t2 VALUES(1);

connection default;
SET DEBUG_SYNC= 'now SIGNAL continue';

connection con1;
--echo /* connection con1 */ INSERT INTO t1(title) VALUES('mysql database');
--reap

connection con2;
--echo /* conneciton con2 */ INSERT INTO t2 VALUES(1);
--reap

connection default;
SET DEBUG_SYNC = 'RESET';
-- echo # make con1 & con2 show up in mysql.slow_log
SELECT SLEEP(2);
-- echo # slow log results should be empty here.
SELECT sql_text FROM mysql.slow_log WHERE query_time >= '00:00:02';

SET GLOBAL debug_dbug = @old_debug;
TRUNCATE TABLE mysql.slow_log;

DROP TABLE t1,t2;

SET DEBUG_SYNC=RESET;
disconnect con1;
disconnect con2;

@@ -78,3 +78,11 @@ if (`SELECT IF('$engine' != 'InnoDB', 1, 0)`)

--remove_files_wildcard $MYSQLTEST_VARDIR/tmp/mdev_27065 *
--rmdir $MYSQLTEST_VARDIR/tmp/mdev_27065

--echo #
--echo # MDEV-26127 Assertion `err != DB_DUPLICATE_KEY' failed or InnoDB: Failing assertion: id != 0 on ALTER ... REBUILD PARTITION
--echo #
--eval CREATE TABLE t1 (c INT) ENGINE=$engine PARTITION BY KEY(c) PARTITIONS 4;
LOCK TABLES t1 WRITE, t1 AS a READ;
ALTER TABLE t1 REBUILD PARTITION p0;
DROP TABLE t1;
@@ -62,6 +62,13 @@ Warnings:
Warning 1618 <DATA DIRECTORY> table option of old schema is ignored
DROP TABLE t1;
#
# MDEV-26127 Assertion `err != DB_DUPLICATE_KEY' failed or InnoDB: Failing assertion: id != 0 on ALTER ... REBUILD PARTITION
#
CREATE TABLE t1 (c INT) ENGINE=InnoDB PARTITION BY KEY(c) PARTITIONS 4;;
LOCK TABLES t1 WRITE, t1 AS a READ;
ALTER TABLE t1 REBUILD PARTITION p0;
DROP TABLE t1;
#
# MDEV-28079 Shutdown hangs after altering innodb partition fts table
#
CREATE TABLE t1(f1 INT, f2 CHAR(100))ENGINE=InnoDB PARTITION BY HASH(f1) PARTITIONS 2;
@@ -95,3 +95,10 @@ PARTITION p1 VALUES LESS THAN MAXVALUE
Warnings:
Warning 1618 <INDEX DIRECTORY> table option of old schema is ignored
DROP TABLE t2;
#
# MDEV-26127 Assertion `err != DB_DUPLICATE_KEY' failed or InnoDB: Failing assertion: id != 0 on ALTER ... REBUILD PARTITION
#
CREATE TABLE t1 (c INT) ENGINE=Aria PARTITION BY KEY(c) PARTITIONS 4;;
LOCK TABLES t1 WRITE, t1 AS a READ;
ALTER TABLE t1 REBUILD PARTITION p0;
DROP TABLE t1;
@@ -68,6 +68,13 @@ PARTITION p1 VALUES LESS THAN MAXVALUE
Warnings:
Warning 1618 <INDEX DIRECTORY> table option of old schema is ignored
DROP TABLE t2;
#
# MDEV-26127 Assertion `err != DB_DUPLICATE_KEY' failed or InnoDB: Failing assertion: id != 0 on ALTER ... REBUILD PARTITION
#
CREATE TABLE t1 (c INT) ENGINE=MyISAM PARTITION BY KEY(c) PARTITIONS 4;;
LOCK TABLES t1 WRITE, t1 AS a READ;
ALTER TABLE t1 REBUILD PARTITION p0;
DROP TABLE t1;
create table t1 ( c1 int, c2 int, c3 varchar(100)) delay_key_write=1
partition by key(c1) (
partition p01 data directory = 'MYSQL_TMP_DIR'

0 comments on commit ddf511c

Please sign in to comment.