diff options
-rw-r--r-- | client/mysqlbinlog.cc | 2 | ||||
-rw-r--r-- | config.h.cmake | 7 | ||||
-rw-r--r-- | mysql-test/suite/innodb/r/innodb-64k.result | 4 | ||||
-rw-r--r-- | mysql-test/suite/innodb/t/innodb-64k.test | 5 | ||||
-rw-r--r-- | mysql-test/suite/innodb_fts/r/misc_debug.result | 3 | ||||
-rw-r--r-- | mysql-test/suite/innodb_fts/r/misc_debug2.result | 5 | ||||
-rw-r--r-- | mysql-test/suite/innodb_fts/t/misc_debug.test | 3 | ||||
-rw-r--r-- | mysql-test/suite/innodb_fts/t/misc_debug2.test | 5 | ||||
-rw-r--r-- | sql/CMakeLists.txt | 11 | ||||
-rw-r--r-- | storage/innobase/CMakeLists.txt | 5 | ||||
-rw-r--r-- | storage/innobase/btr/btr0bulk.cc | 7 |
11 files changed, 38 insertions, 19 deletions
diff --git a/client/mysqlbinlog.cc b/client/mysqlbinlog.cc index a7421024f92..79f567d4186 100644 --- a/client/mysqlbinlog.cc +++ b/client/mysqlbinlog.cc @@ -1781,7 +1781,7 @@ that may lead to an endless loop.", &opt_binlog_rows_event_max_encoded_size, 0, GET_ULONG, REQUIRED_ARG, UINT_MAX/4, 256, ULONG_MAX, 0, 256, 0}, #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, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, {"rewrite-db", OPT_REWRITE_DB, diff --git a/config.h.cmake b/config.h.cmake index e7754337b1f..da2fc539bab 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -258,9 +258,6 @@ #cmakedefine STRUCT_TIMESPEC_HAS_TV_SEC 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 */ #cmakedefine HAVE_VALGRIND_MEMCHECK_H 1 @@ -459,8 +456,8 @@ #cmakedefine MYSQL_DEFAULT_CHARSET_NAME "@MYSQL_DEFAULT_CHARSET_NAME@" #cmakedefine MYSQL_DEFAULT_COLLATION_NAME "@MYSQL_DEFAULT_COLLATION_NAME@" -#cmakedefine USE_MB 1 -#cmakedefine USE_MB_IDENT 1 +#cmakedefine USE_MB +#cmakedefine USE_MB_IDENT /* This should mean case insensitive file system */ #cmakedefine FN_NO_CASE_SENSE 1 diff --git a/mysql-test/suite/innodb/r/innodb-64k.result b/mysql-test/suite/innodb/r/innodb-64k.result index 310203282d3..758179568b9 100644 --- a/mysql-test/suite/innodb/r/innodb-64k.result +++ b/mysql-test/suite/innodb/r/innodb-64k.result @@ -1082,9 +1082,11 @@ COMMIT; drop table t2; 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)) ENGINE=InnoDB; INSERT INTO t1 (a) SELECT seq FROM seq_1_to_8191; +ALTER TABLE t1 FORCE, ALGORITHM=INPLACE; DROP TABLE t1; +# End of 10.3 tests diff --git a/mysql-test/suite/innodb/t/innodb-64k.test b/mysql-test/suite/innodb/t/innodb-64k.test index 62d7b929ba1..972ba6bb8b8 100644 --- a/mysql-test/suite/innodb/t/innodb-64k.test +++ b/mysql-test/suite/innodb/t/innodb-64k.test @@ -641,9 +641,12 @@ drop table t2; DROP TABLE t1; --echo # ---echo # MDEV-19526 heap number overflow +--echo # MDEV-19526/MDEV-29742 heap number overflow --echo # CREATE TABLE t1(a SMALLINT NOT NULL UNIQUE AUTO_INCREMENT, KEY(a)) ENGINE=InnoDB; INSERT INTO t1 (a) SELECT seq FROM seq_1_to_8191; +ALTER TABLE t1 FORCE, ALGORITHM=INPLACE; DROP TABLE t1; + +--echo # End of 10.3 tests diff --git a/mysql-test/suite/innodb_fts/r/misc_debug.result b/mysql-test/suite/innodb_fts/r/misc_debug.result index e252d7f6b11..022c389a47e 100644 --- a/mysql-test/suite/innodb_fts/r/misc_debug.result +++ b/mysql-test/suite/innodb_fts/r/misc_debug.result @@ -56,9 +56,8 @@ DROP TABLE t1; # MDEV-25663 Double free of transaction during TRUNCATE # call mtr.add_suppression("InnoDB: \\(Too many concurrent transactions\\)"); -SET DEBUG_DBUG='-d,ib_create_table_fail_too_many_trx'; -CREATE TABLE t1 (b CHAR(12), FULLTEXT KEY(b)) engine=InnoDB; SET @save_dbug= @@debug_dbug; +CREATE TABLE t1 (b CHAR(12), FULLTEXT KEY(b)) engine=InnoDB; SET debug_dbug='+d,ib_create_table_fail_too_many_trx'; TRUNCATE t1; ERROR HY000: Got error -1 "Internal error < 0 (Not system error)" from storage engine InnoDB diff --git a/mysql-test/suite/innodb_fts/r/misc_debug2.result b/mysql-test/suite/innodb_fts/r/misc_debug2.result index f1ebef6175f..9e22f5680c0 100644 --- a/mysql-test/suite/innodb_fts/r/misc_debug2.result +++ b/mysql-test/suite/innodb_fts/r/misc_debug2.result @@ -11,12 +11,13 @@ DROP TABLE mdev21563; # CREATE TABLE t1(f1 CHAR(100), FULLTEXT idx(f1))ENGINE=InnoDB; INSERT INTO t1 VALUES('mysql'), ('innodb'); +SET @save_dbug=@@debug_dbug; set debug_dbug="+d,fts_instrument_sync_debug"; INSERT INTO t1 VALUES('test'); -set debug_dbug="-d,fts_instrument_sync_debug"; +set debug_dbug=@save_dbug; INSERT INTO t1 VALUES('This is a fts issue'); # restart set debug_dbug="+d,fts_instrument_sync_debug"; UPDATE t1 SET f1="mariadb"; -set debug_dbug="-d,fts_instrument_sync_debug"; +set debug_dbug=@save_dbug; DROP TABLE t1; diff --git a/mysql-test/suite/innodb_fts/t/misc_debug.test b/mysql-test/suite/innodb_fts/t/misc_debug.test index 4a0edf4ef88..eec841b22ec 100644 --- a/mysql-test/suite/innodb_fts/t/misc_debug.test +++ b/mysql-test/suite/innodb_fts/t/misc_debug.test @@ -85,10 +85,9 @@ DROP TABLE t1; --echo # MDEV-25663 Double free of transaction during TRUNCATE --echo # call mtr.add_suppression("InnoDB: \\(Too many concurrent transactions\\)"); -SET DEBUG_DBUG='-d,ib_create_table_fail_too_many_trx'; +SET @save_dbug= @@debug_dbug; CREATE TABLE t1 (b CHAR(12), FULLTEXT KEY(b)) engine=InnoDB; -SET @save_dbug= @@debug_dbug; SET debug_dbug='+d,ib_create_table_fail_too_many_trx'; --error ER_GET_ERRNO TRUNCATE t1; diff --git a/mysql-test/suite/innodb_fts/t/misc_debug2.test b/mysql-test/suite/innodb_fts/t/misc_debug2.test index 1ba77f2481e..815be816afd 100644 --- a/mysql-test/suite/innodb_fts/t/misc_debug2.test +++ b/mysql-test/suite/innodb_fts/t/misc_debug2.test @@ -16,12 +16,13 @@ DROP TABLE mdev21563; --echo # CREATE TABLE t1(f1 CHAR(100), FULLTEXT idx(f1))ENGINE=InnoDB; INSERT INTO t1 VALUES('mysql'), ('innodb'); +SET @save_dbug=@@debug_dbug; set debug_dbug="+d,fts_instrument_sync_debug"; INSERT INTO t1 VALUES('test'); -set debug_dbug="-d,fts_instrument_sync_debug"; +set debug_dbug=@save_dbug; INSERT INTO t1 VALUES('This is a fts issue'); --source include/restart_mysqld.inc set debug_dbug="+d,fts_instrument_sync_debug"; UPDATE t1 SET f1="mariadb"; -set debug_dbug="-d,fts_instrument_sync_debug"; +set debug_dbug=@save_dbug; DROP TABLE t1; diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt index e42f1a164df..e7c87698451 100644 --- a/sql/CMakeLists.txt +++ b/sql/CMakeLists.txt @@ -1,5 +1,5 @@ # Copyright (c) 2006, 2014, Oracle and/or its affiliates. -# Copyright (c) 2010, 2018, MariaDB Corporation +# Copyright (c) 2010, 2022, MariaDB Corporation. # # 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 @@ -152,7 +152,14 @@ SET (SQL_SOURCE ${GEN_SOURCES} ${MYSYS_LIBWRAP_SOURCE} ) - + +IF(CMAKE_C_COMPILER_ID MATCHES "Clang" AND + NOT CMAKE_C_COMPILER_VERSION VERSION_LESS "13.0.0") + ADD_COMPILE_FLAGS(${CMAKE_CURRENT_BINARY_DIR}/sql_yacc.cc + ${CMAKE_CURRENT_BINARY_DIR}/sql_yacc_ora.cc + COMPILE_FLAGS "-Wno-unused-but-set-variable") +ENDIF() + IF ((CMAKE_SYSTEM_NAME MATCHES "Linux" OR CMAKE_SYSTEM_NAME MATCHES "SunOS" OR WIN32 OR diff --git a/storage/innobase/CMakeLists.txt b/storage/innobase/CMakeLists.txt index ab7d00e71a8..6083d77748a 100644 --- a/storage/innobase/CMakeLists.txt +++ b/storage/innobase/CMakeLists.txt @@ -364,6 +364,11 @@ IF(MSVC) # on generated file. TARGET_COMPILE_OPTIONS(innobase PRIVATE "/wd4065") ENDIF() +IF(CMAKE_C_COMPILER_ID MATCHES "Clang" AND + NOT CMAKE_C_COMPILER_VERSION VERSION_LESS "13.0.0") + ADD_COMPILE_FLAGS(pars/pars0grm.cc fts/fts0pars.cc + COMPILE_FLAGS "-Wno-unused-but-set-variable") +ENDIF() IF(NOT (PLUGIN_INNOBASE STREQUAL DYNAMIC)) ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/extra/mariabackup ${CMAKE_BINARY_DIR}/extra/mariabackup) diff --git a/storage/innobase/btr/btr0bulk.cc b/storage/innobase/btr/btr0bulk.cc index 5e0df4597f9..4d87828697f 100644 --- a/storage/innobase/btr/btr0bulk.cc +++ b/storage/innobase/btr/btr0bulk.cc @@ -1,7 +1,7 @@ /***************************************************************************** Copyright (c) 2014, 2019, Oracle and/or its affiliates. All Rights Reserved. -Copyright (c) 2017, 2021, MariaDB Corporation. +Copyright (c) 2017, 2022, MariaDB Corporation. 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 the Free Software @@ -597,6 +597,11 @@ bool PageBulk::isSpaceAvailable( ulint rec_size) { + if (m_rec_no >= 8190) { + ut_ad(srv_page_size == 65536); + return false; + } + ulint slot_size; ulint required_space; |