Update to MySQL 5.7.15
This commit is contained in:
parent
6329051b24
commit
5e9f498a98
@ -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}
|
||||
|
||||
Name: community-mysql
|
||||
Version: 5.7.14
|
||||
Version: 5.7.15
|
||||
Release: 1%{?with_debug:.debug}%{?dist}
|
||||
Summary: MySQL client programs and shared libraries
|
||||
Group: Applications/Databases
|
||||
@ -120,8 +120,6 @@ Patch6: %{pkgnamepatch}-paths.patch
|
||||
# Patches specific for this mysql package
|
||||
Patch51: %{pkgnamepatch}-chain-certs.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
|
||||
|
||||
# Patches taken from boost 1.59
|
||||
@ -159,6 +157,7 @@ BuildRequires: perl(File::Temp)
|
||||
BuildRequires: perl(Data::Dumper)
|
||||
BuildRequires: perl(Getopt::Long)
|
||||
BuildRequires: perl(IPC::Open3)
|
||||
BuildRequires: perl(JSON)
|
||||
BuildRequires: perl(Memoize)
|
||||
BuildRequires: perl(Socket)
|
||||
BuildRequires: perl(Sys::Hostname)
|
||||
@ -354,6 +353,7 @@ Requires: perl(File::Temp)
|
||||
Requires: perl(Data::Dumper)
|
||||
Requires: perl(Getopt::Long)
|
||||
Requires: perl(IPC::Open3)
|
||||
Requires: perl(JSON)
|
||||
Requires: perl(Socket)
|
||||
Requires: perl(Sys::Hostname)
|
||||
Requires: perl(Test::More)
|
||||
@ -381,8 +381,6 @@ the MySQL sources.
|
||||
%patch6 -p1
|
||||
%patch51 -p1
|
||||
%patch52 -p1
|
||||
%patch53 -p1
|
||||
%patch54 -p1
|
||||
%if %{with_shared_lib_major_hack}
|
||||
%patch70 -p1
|
||||
%endif
|
||||
@ -670,7 +668,7 @@ cp ../../mysql-test/%{skiplist} .
|
||||
export MTR_BUILD_THREAD=%{__isa_bits}
|
||||
./mtr \
|
||||
--mem --parallel=auto --force --retry=0 \
|
||||
--mysqld=--binlog-format=mixed \
|
||||
--mysqld=--binlog-format=mixed --skip-rpl \
|
||||
--suite-timeout=720 --testcase-timeout=30 \
|
||||
--clean-vardir \
|
||||
%if %{check_testsuite}
|
||||
@ -945,6 +943,28 @@ fi
|
||||
%endif
|
||||
|
||||
%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
|
||||
- BR multilib-rpm-config and use it for multilib workarounds
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user