Commit 6268bdad authored by Marko Mäkelä's avatar Marko Mäkelä

Merge 10.5 into 10.6

parents 3f38e2a4 1bf9acce
......@@ -114,8 +114,8 @@ compiler:
- clang
env:
- CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=archive,optimizer_unfixed_bugs,parts,sys_vars,unit,vcol,innodb,innodb_gis,innodb_zip,innodb_fts
- CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=binlog,binlog_encryption,encryption,rocksdb,versioning,rpl
- CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=csv,federated,funcs_1,funcs_2,gcol,handler,heap,json,maria,perfschema,plugins,multi_source,roles
- CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=binlog,binlog_encryption,rocksdb,versioning,rpl
- CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=csv,federated,funcs_1,funcs_2,gcol,handler,heap,json,maria,perfschema,plugins,multi_source,roles,encryption
- CC_VERSION=10 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
jobs:
......@@ -191,10 +191,10 @@ jobs:
arch: s390x
compiler: gcc
env: CC_VERSION=10 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
# Sporadically fails on main.multi_update_big test (MDEV-23955)
- arch: arm64
# Until OSX becomes a bit more stable
- os: osx
# ppc64el builder frequently runs out of memory
- arch: ppc64le
before_install:
- if [[ "${TRAVIS_OS_NAME}" == 'osx' ]]; then
......
......@@ -22,6 +22,9 @@ if [[ -d storage/columnstore/columnstore/debian ]]; then
cp -v storage/columnstore/columnstore/debian/mariadb-plugin-columnstore.* debian/
echo >> debian/control
cat storage/columnstore/columnstore/debian/control >> debian/control
# ColumnStore is explcitly disabled in the native build, so allow it now
# when build it when triggered by autobake-deb.sh
sed '/-DPLUGIN_COLUMNSTORE=NO/d' -i debian/rules
fi
# General CI optimizations to keep build output smaller
......@@ -33,7 +36,7 @@ then
# MCOL-4149: ColumnStore builds are so slow and big that they must be skipped on
# both Travis-CI and Gitlab-CI
sed 's|-DPLUGIN_COLUMNSTORE=YES|-DPLUGIN_COLUMNSTORE=NO|' -i debian/rules
sed 's|$(CMAKEFLAGS)|$(CMAKEFLAGS) -DPLUGIN_COLUMNSTORE=NO|' -i debian/rules
sed "/Package: mariadb-plugin-columnstore/,/^$/d" -i debian/control
fi
......
......@@ -285,16 +285,16 @@ Conflicts: mariadb-client-10.0,
mysql-client-core-5.7,
mysql-client-core-8.0,
virtual-mysql-client-core
Replaces: mariadb-client-core-5.1,
mariadb-client-core-5.2,
mariadb-client-core-5.3,
mariadb-client-core-5.5,
mariadb-client-core-10.0,
Replaces: mariadb-client-core-10.0,
mariadb-client-core-10.1,
mariadb-client-core-10.2,
mariadb-client-core-10.3,
mariadb-client-core-10.4,
mariadb-client-core-10.5,
mariadb-client-core-5.1,
mariadb-client-core-5.2,
mariadb-client-core-5.3,
mariadb-client-core-5.5,
mysql-client-core-5.1,
mysql-client-core-5.5,
mysql-client-core-5.6,
......@@ -346,16 +346,16 @@ Conflicts: mariadb-client (<< ${source:Version}),
mysql-client-core-8.0,
mytop,
virtual-mysql-client
Replaces: mariadb-client-5.1,
mariadb-client-5.2,
mariadb-client-5.3,
mariadb-client-5.5,
mariadb-client-10.0,
Replaces: mariadb-client-10.0,
mariadb-client-10.1,
mariadb-client-10.2,
mariadb-client-10.3,
mariadb-client-10.4,
mariadb-client-10.5,
mariadb-client-5.1,
mariadb-client-5.2,
mariadb-client-5.3,
mariadb-client-5.5,
mysql-client-5.0,
mysql-client-5.1,
mysql-client-5.5,
......@@ -400,16 +400,16 @@ Conflicts: mariadb-server-core-10.0,
mysql-server-core-5.7,
mysql-server-core-8.0,
virtual-mysql-server-core
Replaces: mariadb-server-core-5.1,
mariadb-server-core-5.2,
mariadb-server-core-5.3,
mariadb-server-core-5.5,
mariadb-server-core-10.0,
Replaces: mariadb-server-core-10.0,
mariadb-server-core-10.1,
mariadb-server-core-10.2,
mariadb-server-core-10.3,
mariadb-server-core-10.4,
mariadb-server-core-10.5,
mariadb-server-core-5.1,
mariadb-server-core-5.2,
mariadb-server-core-5.3,
mariadb-server-core-5.5,
mysql-server-core-5.0,
mysql-server-core-5.1,
mysql-server-core-5.5,
......@@ -476,16 +476,16 @@ Conflicts: mariadb-server (<< ${source:Version}),
mysql-server-5.7,
mysql-server-8.0,
virtual-mysql-server
Replaces: mariadb-server-5.1,
mariadb-server-5.2,
mariadb-server-5.3,
mariadb-server-5.5,
mariadb-server-10.0,
Replaces: mariadb-server-10.0,
mariadb-server-10.1,
mariadb-server-10.2,
mariadb-server-10.3,
mariadb-server-10.4,
mariadb-server-10.5,
mariadb-server-5.1,
mariadb-server-5.2,
mariadb-server-5.3,
mariadb-server-5.5,
mysql-server-4.1,
mysql-server-5.0,
mysql-server-5.1,
......@@ -718,18 +718,18 @@ Depends: mariadb-client-10.6 (= ${binary:Version}),
${misc:Depends},
${perl:Depends},
${shlibs:Depends}
Breaks: mariadb-test-5.5,
mariadb-test-10.0,
Breaks: mariadb-test-10.0,
mariadb-test-10.1,
mariadb-test-10.2,
mariadb-test-10.3,
mariadb-test-10.4,
Replaces: mariadb-test-5.5,
mariadb-test-10.0,
mariadb-test-5.5
Replaces: mariadb-test-10.0,
mariadb-test-10.1,
mariadb-test-10.2,
mariadb-test-10.3,
mariadb-test-10.4,
mariadb-test-5.5,
virtual-mysql-testsuite
Provides: virtual-mysql-testsuite
Suggests: patch
......@@ -747,23 +747,23 @@ Multi-Arch: foreign
Depends: ${misc:Depends},
${perl:Depends},
${shlibs:Depends}
Breaks: mariadb-test-data-5.5,
mariadb-test-data-10.0,
Breaks: mariadb-test-data-10.0,
mariadb-test-data-10.1,
mariadb-test-data-10.2,
mariadb-test-data-10.3,
mariadb-test-data-10.4,
mariadb-test-data-5.5,
mysql-testsuite,
mysql-testsuite-5.5,
mysql-testsuite-5.6,
mysql-testsuite-5.7,
mysql-testsuite-8.0
Replaces: mariadb-test-data-5.5,
mariadb-test-data-10.0,
Replaces: mariadb-test-data-10.0,
mariadb-test-data-10.1,
mariadb-test-data-10.2,
mariadb-test-data-10.3,
mariadb-test-data-10.4,
mariadb-test-data-5.5,
mysql-testsuite,
mysql-testsuite-5.5,
mysql-testsuite-5.6,
......
......@@ -3,7 +3,6 @@ debian/additions/debian-start.inc.sh usr/share/mysql
debian/additions/echo_stderr usr/share/mysql
debian/additions/mariadb.conf.d/50-mysqld_safe.cnf etc/mysql/mariadb.conf.d
debian/additions/mariadb.conf.d/50-server.cnf etc/mysql/mariadb.conf.d
support-files/rpm/enable_encryption.preset etc/mysql/mariadb.conf.d/99-enable-encryption.cnf.preset
debian/additions/source_mariadb-10.6.py usr/share/apport/package-hooks
etc/apparmor.d/usr.sbin.mariadbd
etc/security/user_map.conf
......@@ -11,6 +10,7 @@ lib/*/security/pam_user_map.so
lib/systemd/system/mariadb@bootstrap.service.d/use_galera_new_cluster.conf
lib/systemd/system/mysql.service
lib/systemd/system/mysqld.service
support-files/rpm/enable_encryption.preset etc/mysql/mariadb.conf.d/99-enable-encryption.cnf.preset
usr/bin/aria_chk
usr/bin/aria_dump_log
usr/bin/aria_ftdump
......
......@@ -8,7 +8,6 @@ usr/lib/*/libmariadb3/plugin/qa_auth_interface.so
usr/lib/mysql/plugin/adt_null.so
usr/lib/mysql/plugin/auth_0x0100.so
usr/lib/mysql/plugin/auth_test_plugin.so
usr/lib/mysql/plugin/test_sql_service.so
usr/lib/mysql/plugin/daemon_example.ini
usr/lib/mysql/plugin/debug_key_management.so
usr/lib/mysql/plugin/dialog_examples.so
......@@ -20,6 +19,7 @@ usr/lib/mysql/plugin/libdaemon_example.so
usr/lib/mysql/plugin/mypluglib.so
usr/lib/mysql/plugin/qa_auth_interface.so
usr/lib/mysql/plugin/qa_auth_server.so
usr/lib/mysql/plugin/test_sql_service.so
usr/lib/mysql/plugin/test_versioning.so
usr/share/man/man1/mariadb-client-test-embedded.1
usr/share/man/man1/mariadb-client-test.1
......
......@@ -48,12 +48,6 @@ ifeq (32,$(DEB_HOST_ARCH_BITS))
CMAKEFLAGS += -DPLUGIN_ROCKSDB=NO
endif
# ColumnStore only attempts to build on a few platforms as dictated by CMake checks
# Also note in debian/control the CS-only build deps marked '[amd64]'
ifeq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH),amd64))
CMAKEFLAGS += -DPLUGIN_COLUMNSTORE=YES
endif
# Add extra flag to avoid WolfSSL code crashing the entire mariadbd on s390x. This
# can be removed once upstream has made the code s390x compatible, see
# https://jira.mariadb.org/browse/MDEV-21705 and
......@@ -85,6 +79,8 @@ ifneq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
dh_auto_build --builddirectory=builddir-native -- import_executables
endif
# Don't build ColumnStore as part of the native build, only build it when
# triggered by autobake-deb.sh. Saves build time and disk space.
mkdir -p $(BUILDDIR) && cd $(BUILDDIR) && \
sh -c 'PATH=$${MYSQL_BUILD_PATH:-"/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin"} \
CC=${CC} \
......@@ -97,6 +93,7 @@ endif
-DCMAKE_SYSTEM_PROCESSOR=$(DEB_HOST_ARCH) \
-DBUILD_CONFIG=mysql_release \
-DPLUGIN_AWS_KEY_MANAGEMENT=NO \
-DPLUGIN_COLUMNSTORE=NO \
-DDEB=$(DEB_VENDOR) ..'
# This is needed, otherwise 'make test' will run before binaries have been built
......
This diff is collapsed.
......@@ -68,7 +68,6 @@ EOT
mysql <<EOT
SET GLOBAL innodb_compression_algorithm=lz4;
SET GLOBAL innodb_compression_algorithm=snappy;
SET GLOBAL innodb_compression_algorithm=zlib;
SET GLOBAL innodb_compression_algorithm=none;
EOT
......
......@@ -9,20 +9,32 @@ ENDIF()
IF(CMAKE_SIZEOF_VOID_P MATCHES 8)
IF(MSVC)
SET(WOLFSSL_INTELASM ON)
SET(WOLFSSL_X86_64_BUILD 1)
SET(HAVE_INTEL_RDSEED 1)
SET(HAVE_INTEL_RDRAND 1)
ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64")
SET(WOLFSSL_X86_64_BUILD 1)
IF(CMAKE_C_COMPILER_ID MATCHES GNU AND CMAKE_C_COMPILER_VERSION VERSION_LESS 4.9)
MESSAGE_ONCE(NO_INTEL_ASSEMBLY "Disable Intel assembly for WolfSSL - compiler is too old")
ELSEIF(WITH_MSAN)
MESSAGE_ONCE(MSAN_CANT_HANDLE_IT
"Disable Intel assembly for WolfSSL - MSAN can't handle it")
ELSE()
MY_CHECK_C_COMPILER_FLAG(-maes)
MY_CHECK_C_COMPILER_FLAG(-msse4)
MY_CHECK_C_COMPILER_FLAG(-mpclmul)
IF(WITH_MSAN)
MESSAGE_ONCE(MSAN_CANT_HANDLE_IT
"Disable Intel assembly for WolfSSL - MSAN can't handle it")
ELSE()
MY_CHECK_C_COMPILER_FLAG(-maes)
MY_CHECK_C_COMPILER_FLAG(-msse4)
MY_CHECK_C_COMPILER_FLAG(-mpclmul)
IF(have_C__maes AND have_C__msse4 AND have_C__mpclmul)
SET(WOLFSSL_INTELASM ON)
ENDIF()
ENDIF()
MY_CHECK_C_COMPILER_FLAG(-mrdrnd)
MY_CHECK_C_COMPILER_FLAG(-mrdseed)
IF(have_C__maes AND have_C__msse4 AND have_C__mpclmul)
SET(WOLFSSL_INTELASM ON)
IF(have_C__mrdrnd)
SET(HAVE_INTEL_RDRAND ON)
ENDIF()
IF(have_C__mrdseed)
SET(HAVE_INTEL_RDSEED ON)
ENDIF()
ENDIF()
ENDIF()
......@@ -44,7 +56,7 @@ ADD_DEFINITIONS(-DWOLFSSL_LIB -DBUILDING_WOLFSSL)
INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/wolfssl)
IF(MSVC)
# size_t to long truncation warning
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -wd4267 -wd4334 -wd4028")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -wd4267 -wd4334 -wd4028 -wd4244")
ENDIF()
ADD_CONVENIENCE_LIBRARY(wolfssl ${WOLFSSL_SOURCES})
......@@ -109,33 +121,22 @@ ELSE()
SET(WOLFCRYPT_SOURCES ${WOLFCRYPT_SOURCES} ${WOLFCRYPT_SRCDIR}/integer.c)
ENDIF()
IF(WOLFSSL_INTELASM)
SET(WOLFSSL_AESNI 1)
IF(WOLFSSL_X86_64_BUILD)
LIST(APPEND WOLFCRYPT_SOURCES ${WOLFCRYPT_SRCDIR}/cpuid.c)
IF(MSVC)
SET(WOLFSSL_AESNI 1)
LIST(APPEND WOLFCRYPT_SOURCES ${WOLFCRYPT_SRCDIR}/aes_asm.asm)
SET(WOLFSSL_X86_64_BUILD 1)
SET(HAVE_INTEL_RDSEED 1)
SET(HAVE_INTEL_RDRAND 1)
IF(CMAKE_C_COMPILER_ID MATCHES Clang)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -maes -msse4.2 -mpclmul -mrdrnd -mrdseed")
ENDIF()
ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64")
ELSEIF(WOLFSSL_INTELASM)
SET(WOLFSSL_AESNI 1)
SET(USE_INTEL_SPEEDUP 1)
LIST(APPEND WOLFCRYPT_SOURCES
${WOLFCRYPT_SRCDIR}/aes_asm.S
${WOLFCRYPT_SRCDIR}/sha512_asm.S
${WOLFCRYPT_SRCDIR}/sha256_asm.S)
ADD_DEFINITIONS(-maes -msse4 -mpclmul)
IF(have_C__mrdrnd)
SET(HAVE_INTEL_RDRAND 1)
ADD_DEFINITIONS(-mrdrnd)
ENDIF()
IF(have_C__mrdseed)
SET(HAVE_INTEL_RDSEED 1)
ADD_DEFINITIONS(-mrdseed)
ENDIF()
${WOLFCRYPT_SRCDIR}/aes_asm.S
${WOLFCRYPT_SRCDIR}/sha512_asm.S
${WOLFCRYPT_SRCDIR}/sha256_asm.S)
ADD_DEFINITIONS(-maes -msse4.2 -mpclmul)
ENDIF()
ENDIF()
......
Subproject commit e116c89a58af750421d82ece13f80516d2bde02e
Subproject commit 9c87f979a7f1d3a6d786b260653d566c1d31a1c4
/*
Copyright (c) 2016, 2017 MariaDB Corporation
Copyright (c) 2016, 2021, 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
......@@ -73,19 +73,19 @@
#define EVP_MD_CTX_SIZE sizeof(EVP_MD_CTX)
#endif
#define OPENSSL_init_ssl(X,Y) SSL_library_init()
#define DH_set0_pqg(D,P,Q,G) ((D)->p= (P), (D)->g= (G))
#define EVP_CIPHER_CTX_buf_noconst(ctx) ((ctx)->buf)
#define EVP_CIPHER_CTX_encrypting(ctx) ((ctx)->encrypt)
#define EVP_CIPHER_CTX_SIZE sizeof(EVP_CIPHER_CTX)
#ifndef HAVE_WOLFSSL
#define OPENSSL_init_ssl(X,Y) SSL_library_init()
#define EVP_MD_CTX_reset(X) EVP_MD_CTX_cleanup(X)
#define EVP_CIPHER_CTX_reset(X) EVP_CIPHER_CTX_cleanup(X)
#endif
#define X509_get0_notBefore(X) X509_get_notBefore(X)
#define X509_get0_notAfter(X) X509_get_notAfter(X)
#endif
#endif
#ifndef TLS1_3_VERSION
#define SSL_CTX_set_ciphersuites(X,Y) 0
......
......@@ -164,3 +164,13 @@ Warnings:
Note 1051 Unknown table 'test.t0'
FLUSH TABLE t0;
DROP TABLE t0;
#
# MDEV-24364 Alter rename table does not remove PFS share
#
create or replace table yt4 (x int) engine innodb;
alter table yt4 rename to t1, algorithm=copy;
drop tables t1;
select object_type, object_schema, object_name
from performance_schema.objects_summary_global_by_type
where object_schema="test";
object_type object_schema object_name
......@@ -287,3 +287,14 @@ enable_query_log;
# an unexpected refcount.
FLUSH TABLE t0;
DROP TABLE t0;
--echo #
--echo # MDEV-24364 Alter rename table does not remove PFS share
--echo #
create or replace table yt4 (x int) engine innodb;
alter table yt4 rename to t1, algorithm=copy;
drop tables t1;
select object_type, object_schema, object_name
from performance_schema.objects_summary_global_by_type
where object_schema="test";
......@@ -10956,6 +10956,8 @@ do_continue:;
{
/* The original table is the backup */
backup_name= alter_ctx.table_name;
PSI_CALL_drop_table_share(0, alter_ctx.db.str, (int) alter_ctx.db.length,
alter_ctx.table_name.str, (int) alter_ctx.table_name.length);
}
// Rename the new table to the correct name.
......
......@@ -38,6 +38,7 @@ Created 10/21/1995 Heikki Tuuri
#include "fsp0types.h"
#include "tpool.h"
#include "my_counter.h"
#ifndef _WIN32
#include <dirent.h>
......@@ -266,7 +267,7 @@ struct os_file_size_t {
constexpr ulint OS_AIO_N_PENDING_IOS_PER_THREAD= 256;
extern ulint os_n_file_reads;
extern Atomic_counter<ulint> os_n_file_reads;
extern ulint os_n_file_writes;
extern ulint os_n_fsyncs;
......
......@@ -154,7 +154,7 @@ static ulint os_innodb_umask = 0;
#define WAIT_ALLOW_WRITES() innodb_wait_allow_writes()
ulint os_n_file_reads;
Atomic_counter<ulint> os_n_file_reads;
static ulint os_bytes_read_since_printout;
ulint os_n_file_writes;
ulint os_n_fsyncs;
......@@ -4190,7 +4190,7 @@ os_aio_print(FILE* file)
ULINTPF " OS fsyncs\n",
log_sys.get_pending_flushes(),
ulint{fil_n_pending_tablespace_flushes},
os_n_file_reads,
ulint{os_n_file_reads},
os_n_file_writes,
os_n_fsyncs);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment