Update to MySQL 5.7.15
This commit is contained in:
parent
7a67b5964f
commit
c866c8730d
@ -1,26 +0,0 @@
|
|||||||
--- a/storage/innobase/buf/buf0buf.cc
|
|
||||||
+++ b/storage/innobase/buf/buf0buf.cc
|
|
||||||
@@ -3855,14 +3855,17 @@ buf_block_from_ahi(const byte* ptr)
|
|
||||||
ut_ad(buf_chunk_map_ref == buf_chunk_map_reg);
|
|
||||||
ut_ad(!buf_pool_resizing);
|
|
||||||
|
|
||||||
- const byte* bound = reinterpret_cast<uintptr_t>(ptr)
|
|
||||||
- > srv_buf_pool_chunk_unit
|
|
||||||
- ? ptr - srv_buf_pool_chunk_unit : 0;
|
|
||||||
- it = chunk_map->upper_bound(bound);
|
|
||||||
+ buf_chunk_t* chunk;
|
|
||||||
+ it = chunk_map->upper_bound(ptr);
|
|
||||||
+
|
|
||||||
+ ut_a(it != chunk_map->begin());
|
|
||||||
|
|
||||||
- ut_a(it != chunk_map->end());
|
|
||||||
+ if (it == chunk_map->end()) {
|
|
||||||
+ chunk = chunk_map->rbegin()->second;
|
|
||||||
+ } else {
|
|
||||||
+ chunk = (--it)->second;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
- buf_chunk_t* chunk = it->second;
|
|
||||||
ulint offs = ptr - chunk->blocks->frame;
|
|
||||||
|
|
||||||
offs >>= UNIV_PAGE_SIZE_SHIFT;
|
|
@ -1,123 +0,0 @@
|
|||||||
|
|
||||||
Problem: The fix for bug #23607230 used xxhash symbols from liblz4,
|
|
||||||
but even though the xxhash symbols are exported by liblz4, the header
|
|
||||||
file is not part of the API, so compilation fails when building with
|
|
||||||
WITH_LZ4=system.
|
|
||||||
|
|
||||||
Fix: Build xxhash separately from liblz4 so that it's available both
|
|
||||||
when using system and bundled lz4 libraries.
|
|
||||||
---
|
|
||||||
extra/lz4/my_xxhash.h | 27 +++++++++++++++++++++++++++
|
|
||||||
libmysqld/CMakeLists.txt | 6 ++++++
|
|
||||||
sql/CMakeLists.txt | 6 ++++++
|
|
||||||
sql/rpl_write_set_handler.cc | 4 ++--
|
|
||||||
4 files changed, 41 insertions(+), 2 deletions(-)
|
|
||||||
create mode 100644 extra/lz4/my_xxhash.h
|
|
||||||
|
|
||||||
diff --git a/extra/lz4/my_xxhash.h b/extra/lz4/my_xxhash.h
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..699c1b5
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/extra/lz4/my_xxhash.h
|
|
||||||
@@ -0,0 +1,27 @@
|
|
||||||
+#ifndef MY_XXHASH_H_INCLUDED
|
|
||||||
+#define MY_XXHASH_H_INCLUDED
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
+
|
|
||||||
+ 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 Foundation; version 2 of the License.
|
|
||||||
+
|
|
||||||
+ This program is distributed in the hope that it will be useful,
|
|
||||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+ GNU General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received a copy of the GNU General Public License
|
|
||||||
+ along with this program; if not, write to the Free Software Foundation,
|
|
||||||
+ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
|
|
||||||
+*/
|
|
||||||
+
|
|
||||||
+// Define a namespace prefix to all xxhash functions. This is done to
|
|
||||||
+// avoid conflict with xxhash symbols in liblz4.
|
|
||||||
+#define XXH_NAMESPACE MY_
|
|
||||||
+
|
|
||||||
+#include "xxhash.h"
|
|
||||||
+
|
|
||||||
+#endif // MY_XXHASH_H_INCLUDED
|
|
||||||
diff --git a/libmysqld/CMakeLists.txt b/libmysqld/CMakeLists.txt
|
|
||||||
index cb188ec..0093f2e 100644
|
|
||||||
--- a/libmysqld/CMakeLists.txt
|
|
||||||
+++ b/libmysqld/CMakeLists.txt
|
|
||||||
@@ -62,6 +62,7 @@ SET(SQL_EMBEDDED_SOURCES
|
|
||||||
libmysqld.c
|
|
||||||
${GEN_SOURCES}
|
|
||||||
${GEN_YACC_SOURCES}
|
|
||||||
+ ../extra/lz4/xxhash.c
|
|
||||||
../client/get_password.c
|
|
||||||
../libmysql/errmsg.c
|
|
||||||
../libmysql/libmysql.c
|
|
||||||
@@ -118,6 +119,11 @@ ADD_COMPILE_FLAGS(
|
|
||||||
COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR}
|
|
||||||
)
|
|
||||||
|
|
||||||
+ADD_COMPILE_FLAGS(
|
|
||||||
+ ../extra/lz4/xxhash.c
|
|
||||||
+ COMPILE_FLAGS -DXXH_NAMESPACE=MY_
|
|
||||||
+)
|
|
||||||
+
|
|
||||||
# Fixes "C1128: number of sections exceeded object file format limit" in MSVC /MD
|
|
||||||
# The flag /bigobj is not added if the build is not /MD
|
|
||||||
IF(WIN32 AND CMAKE_SIZEOF_VOID_P MATCHES 8)
|
|
||||||
diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
|
|
||||||
index 50352b1..ea42ff5 100644
|
|
||||||
--- a/sql/CMakeLists.txt
|
|
||||||
+++ b/sql/CMakeLists.txt
|
|
||||||
@@ -254,6 +254,7 @@ SET(SQL_SOURCE
|
|
||||||
${GEN_DIGEST_SOURCES}
|
|
||||||
${CONF_SOURCES}
|
|
||||||
${SQL_SHARED_SOURCES}
|
|
||||||
+ ../extra/lz4/xxhash.c
|
|
||||||
../libmysql/errmsg.c
|
|
||||||
../sql-common/client.c
|
|
||||||
../sql-common/client_plugin.c
|
|
||||||
@@ -314,6 +315,11 @@ ADD_COMPILE_FLAGS(
|
|
||||||
COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR}
|
|
||||||
)
|
|
||||||
|
|
||||||
+ADD_COMPILE_FLAGS(
|
|
||||||
+ ../extra/lz4/xxhash.c
|
|
||||||
+ COMPILE_FLAGS -DXXH_NAMESPACE=MY_
|
|
||||||
+)
|
|
||||||
+
|
|
||||||
# Fixes "C1128: number of sections exceeded object file format limit" in MSVC /MD
|
|
||||||
# The flag /bigobj is not added if the build is not WINDOWS_RUNTIME_MD (/MD)
|
|
||||||
IF(WINDOWS_RUNTIME_MD AND CMAKE_SIZEOF_VOID_P MATCHES 8)
|
|
||||||
diff --git a/sql/rpl_write_set_handler.cc b/sql/rpl_write_set_handler.cc
|
|
||||||
index 3897321..c7e778e 100644
|
|
||||||
--- a/sql/rpl_write_set_handler.cc
|
|
||||||
+++ b/sql/rpl_write_set_handler.cc
|
|
||||||
@@ -23,7 +23,7 @@
|
|
||||||
#include "table.h" // TABLE
|
|
||||||
|
|
||||||
#include "my_murmur3.h" // murmur3_32
|
|
||||||
-#include "xxhash.h" // xxHash
|
|
||||||
+#include "../extra/lz4/my_xxhash.h" // xxHash
|
|
||||||
|
|
||||||
#include <map>
|
|
||||||
#include <string>
|
|
||||||
@@ -61,7 +61,7 @@ template <class type> uint64 calc_hash(ulong algorithm, type T)
|
|
||||||
if(algorithm == HASH_ALGORITHM_MURMUR32)
|
|
||||||
return (murmur3_32((const uchar*)T, strlen(T), 0));
|
|
||||||
else
|
|
||||||
- return (XXH64((const uchar*)T, strlen(T), 0));
|
|
||||||
+ return (MY_XXH64((const uchar*)T, strlen(T), 0));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
--
|
|
||||||
2.1.0
|
|
||||||
|
|
||||||
|
|
@ -79,7 +79,7 @@
|
|||||||
%global sameevr %{?epoch:%{epoch}:}%{version}-%{release}
|
%global sameevr %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
|
||||||
Name: community-mysql
|
Name: community-mysql
|
||||||
Version: 5.7.14
|
Version: 5.7.15
|
||||||
Release: 1%{?with_debug:.debug}%{?dist}
|
Release: 1%{?with_debug:.debug}%{?dist}
|
||||||
Summary: MySQL client programs and shared libraries
|
Summary: MySQL client programs and shared libraries
|
||||||
Group: Applications/Databases
|
Group: Applications/Databases
|
||||||
@ -120,8 +120,6 @@ Patch6: %{pkgnamepatch}-paths.patch
|
|||||||
# Patches specific for this mysql package
|
# Patches specific for this mysql package
|
||||||
Patch51: %{pkgnamepatch}-chain-certs.patch
|
Patch51: %{pkgnamepatch}-chain-certs.patch
|
||||||
Patch52: %{pkgnamepatch}-sharedir.patch
|
Patch52: %{pkgnamepatch}-sharedir.patch
|
||||||
Patch53: %{pkgnamepatch}-5.7.14-lz4.patch
|
|
||||||
Patch54: %{pkgnamepatch}-5.7.14-buf-align.patch
|
|
||||||
Patch70: %{pkgnamepatch}-5.7.9-major.patch
|
Patch70: %{pkgnamepatch}-5.7.9-major.patch
|
||||||
|
|
||||||
# Patches taken from boost 1.59
|
# Patches taken from boost 1.59
|
||||||
@ -159,6 +157,7 @@ BuildRequires: perl(File::Temp)
|
|||||||
BuildRequires: perl(Data::Dumper)
|
BuildRequires: perl(Data::Dumper)
|
||||||
BuildRequires: perl(Getopt::Long)
|
BuildRequires: perl(Getopt::Long)
|
||||||
BuildRequires: perl(IPC::Open3)
|
BuildRequires: perl(IPC::Open3)
|
||||||
|
BuildRequires: perl(JSON)
|
||||||
BuildRequires: perl(Memoize)
|
BuildRequires: perl(Memoize)
|
||||||
BuildRequires: perl(Socket)
|
BuildRequires: perl(Socket)
|
||||||
BuildRequires: perl(Sys::Hostname)
|
BuildRequires: perl(Sys::Hostname)
|
||||||
@ -354,6 +353,7 @@ Requires: perl(File::Temp)
|
|||||||
Requires: perl(Data::Dumper)
|
Requires: perl(Data::Dumper)
|
||||||
Requires: perl(Getopt::Long)
|
Requires: perl(Getopt::Long)
|
||||||
Requires: perl(IPC::Open3)
|
Requires: perl(IPC::Open3)
|
||||||
|
Requires: perl(JSON)
|
||||||
Requires: perl(Socket)
|
Requires: perl(Socket)
|
||||||
Requires: perl(Sys::Hostname)
|
Requires: perl(Sys::Hostname)
|
||||||
Requires: perl(Test::More)
|
Requires: perl(Test::More)
|
||||||
@ -381,8 +381,6 @@ the MySQL sources.
|
|||||||
%patch6 -p1
|
%patch6 -p1
|
||||||
%patch51 -p1
|
%patch51 -p1
|
||||||
%patch52 -p1
|
%patch52 -p1
|
||||||
%patch53 -p1
|
|
||||||
%patch54 -p1
|
|
||||||
%if %{with_shared_lib_major_hack}
|
%if %{with_shared_lib_major_hack}
|
||||||
%patch70 -p1
|
%patch70 -p1
|
||||||
%endif
|
%endif
|
||||||
@ -670,7 +668,7 @@ cp ../../mysql-test/%{skiplist} .
|
|||||||
export MTR_BUILD_THREAD=%{__isa_bits}
|
export MTR_BUILD_THREAD=%{__isa_bits}
|
||||||
./mtr \
|
./mtr \
|
||||||
--mem --parallel=auto --force --retry=0 \
|
--mem --parallel=auto --force --retry=0 \
|
||||||
--mysqld=--binlog-format=mixed \
|
--mysqld=--binlog-format=mixed --skip-rpl \
|
||||||
--suite-timeout=720 --testcase-timeout=30 \
|
--suite-timeout=720 --testcase-timeout=30 \
|
||||||
--clean-vardir \
|
--clean-vardir \
|
||||||
%if %{check_testsuite}
|
%if %{check_testsuite}
|
||||||
@ -945,6 +943,28 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Sep 06 2016 Norvald H. Ryeng <norvald.ryeng@oracle.com> - 5.7.15-1
|
||||||
|
- Update to MySQL 5.7.15, for various fixes described at
|
||||||
|
https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-15.html
|
||||||
|
- Remove patches now upstream (buf_block_align, lz4)
|
||||||
|
- perl(JSON) needed for tests
|
||||||
|
|
||||||
|
* Wed Aug 10 2016 Norvald H. Ryeng <norvald.ryeng@oracle.com> - 5.7.14-2
|
||||||
|
- Skip rpl tests, unstable in Fedora build environment
|
||||||
|
|
||||||
|
* Tue Aug 09 2016 Norvald H. Ryeng <norvald.ryeng@oracle.com> - 5.7.14-1
|
||||||
|
- Update to MySQL 5.7.14, for various fixes described at
|
||||||
|
https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-14.html
|
||||||
|
- Remove patches for bugs fixed upstream
|
||||||
|
- Fix for bug #79378 (buf_block_align)
|
||||||
|
- Fix for bug #82426 (build failure with system liblz4)
|
||||||
|
- Further reduce list of tests known to fail on certain platforms
|
||||||
|
- Set check_testsuite to 0 to make sure the build fails if any tests fail
|
||||||
|
|
||||||
|
* Wed Jul 13 2016 Norvald H. Ryeng <norvald.ryeng@oracle.com> - 5.7.13-1
|
||||||
|
- Update to MySQL 5.7.13, for various fixes described at
|
||||||
|
https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-13.html
|
||||||
|
|
||||||
* Mon Jun 27 2016 Pavel Raiskup <praiskup@redhat.com> - 5.7.12-2
|
* Mon Jun 27 2016 Pavel Raiskup <praiskup@redhat.com> - 5.7.12-2
|
||||||
- BR multilib-rpm-config and use it for multilib workarounds
|
- BR multilib-rpm-config and use it for multilib workarounds
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user