---- mysql-8.0.30/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc.orig 2022-07-06 23:36:34.000000000 +0200
-+++ mysql-8.0.30/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc 2022-10-09 14:33:34.598098038 +0200
-@@ -126,7 +126,7 @@ Gcs_sender_id calculate_sender_id(const
+diff -ur mysql-8.2.0.orig/plugin/group_replication/libmysqlgcs/CMakeLists.txt mysql-8.2.0/plugin/group_replication/libmysqlgcs/CMakeLists.txt
+--- mysql-8.2.0.orig/plugin/group_replication/libmysqlgcs/CMakeLists.txt 2023-12-18 01:19:34.054277743 +0100
++++ mysql-8.2.0/plugin/group_replication/libmysqlgcs/CMakeLists.txt 2023-12-18 01:20:07.130718562 +0100
+@@ -137,7 +137,6 @@
+ src/bindings/xcom/gcs_xcom_statistics_interface.cc
+ src/bindings/xcom/gcs_xcom_proxy.cc
+ src/bindings/xcom/gcs_xcom_communication_protocol_changer.cc
+- ${BUNDLED_LZ4_PATH}/xxhash.c # required by gcs_message_stage_split
+ src/bindings/xcom/gcs_message_stage_split.cc
+ src/bindings/xcom/gcs_xcom_synode.cc
+ src/bindings/xcom/gcs_xcom_expels_in_progress.cc
+@@ -235,6 +234,7 @@
+ # Dependency on mysys from gcs_logging_system.cc
+ # but pick up symbols from the server:
+ # TARGET_LINK_LIBRARIES(mysqlgcs mysys)
++TARGET_LINK_LIBRARIES(mysqlgcs xxhash)
+
+ IF(LINUX AND WITH_TIRPC STREQUAL "bundled")
+ ADD_DEPENDENCIES(mysqlgcs tirpc_ext)
+diff -ur mysql-8.2.0.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc mysql-8.2.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc
+--- mysql-8.2.0.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc 2023-12-18 01:19:34.056277770 +0100
++++ mysql-8.2.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc 2023-12-18 01:20:07.117718388 +0100
+@@ -126,7 +126,7 @@
std::string info(node.get_member_id().get_member_id());
info.append(node.get_member_uuid().actual_value);
}
bool Gcs_message_stage_split_v2::update_members_information(
---- mysql-8.0.30/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h.orig 2022-07-06 23:36:34.000000000 +0200
-+++ mysql-8.0.30/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h 2022-10-09 08:41:35.109178797 +0200
+diff -ur mysql-8.2.0.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h mysql-8.2.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h
+--- mysql-8.2.0.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h 2023-12-18 01:19:34.068277930 +0100
++++ mysql-8.2.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h 2023-12-18 01:20:07.130718562 +0100
@@ -25,10 +25,6 @@
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include <xxhash.h>
#endif // GCS_XXHASH_H_INCLUDED
---- mysql-8.0.30/plugin/group_replication/libmysqlgcs/CMakeLists.txt.orig 2022-07-06 23:36:34.000000000 +0200
-+++ mysql-8.0.30/plugin/group_replication/libmysqlgcs/CMakeLists.txt 2022-10-09 08:42:55.768741827 +0200
-@@ -140,7 +140,6 @@ SET(GCS_SOURCES
- src/bindings/xcom/gcs_xcom_statistics_interface.cc
- src/bindings/xcom/gcs_xcom_proxy.cc
- src/bindings/xcom/gcs_xcom_communication_protocol_changer.cc
-- ${BUNDLED_LZ4_PATH}/xxhash.c # required by gcs_message_stage_split
- src/bindings/xcom/gcs_message_stage_split.cc
- src/bindings/xcom/gcs_xcom_synode.cc
- src/bindings/xcom/gcs_xcom_expels_in_progress.cc)
-@@ -219,6 +218,7 @@ ADD_LIBRARY(mysqlgcs STATIC ${XCOM_SOURC
- # Dependency on mysys from gcs_logging_system.cc
- # but pick up symbols from the server:
- # TARGET_LINK_LIBRARIES(mysqlgcs mysys)
-+TARGET_LINK_LIBRARIES(mysqlgcs xxhash)
-
- IF(CMAKE_VERSION VERSION_GREATER "3.19" AND NOT APPLE_XCODE)
- # New in version 3.19:
---- mysql-8.0.30/sql/CMakeLists.txt.orig 2022-07-06 23:36:34.000000000 +0200
-+++ mysql-8.0.30/sql/CMakeLists.txt 2022-10-09 08:53:20.935355008 +0200
-@@ -755,7 +755,6 @@ SET(SQL_SOURCE
+diff -ur mysql-8.2.0.orig/sql/CMakeLists.txt mysql-8.2.0/sql/CMakeLists.txt
+--- mysql-8.2.0.orig/sql/CMakeLists.txt 2023-12-18 01:19:34.892288911 +0100
++++ mysql-8.2.0/sql/CMakeLists.txt 2023-12-18 01:22:41.637779746 +0100
+@@ -766,7 +766,6 @@
${CONF_SOURCES}
${SQL_SHARED_SOURCES}
${SQL_HEADERS}
../libmysql/errmsg.cc
../sql-common/client.cc
../sql-common/client_plugin.cc
-@@ -813,11 +812,6 @@ IF(WIN32)
+@@ -831,11 +830,6 @@
)
ENDIF()
# Workaround for Apple Clang bug on ARM.
# When linking mysqld (and executables using server_unittest_library)
# we get linker warnings about
-@@ -842,13 +836,6 @@ IF(APPLE_ARM)
+@@ -860,14 +854,6 @@
)
ENDIF()
-ADD_COMPILE_FLAGS(
- ${BUNDLED_LZ4_PATH}/xxhash.c
- iterators/hash_join_iterator.cc
+- iterators/composite_iterators.cc
- rpl_write_set_handler.cc
- COMPILE_FLAGS -I${CMAKE_SOURCE_DIR}/extra/lz4 -I${BUNDLED_LZ4_PATH}
- )
# Fixes "C1128: number of sections exceeded object file format limit" in MSVC
IF(WIN32)
ADD_COMPILE_FLAGS(
-@@ -924,7 +911,7 @@ ADD_DEPENDENCIES(sql_main GenBootstrapPr
- ADD_DEPENDENCIES(sql_main GenSysSchema)
+@@ -961,7 +947,7 @@
+
TARGET_LINK_LIBRARIES(sql_main ${MYSQLD_STATIC_PLUGIN_LIBS}
mysql_server_component_services mysys strings vio
-- binlogevents_static ${LIBWRAP} ${LIBDL} ${SSL_LIBRARIES})
-+ binlogevents_static xxhash ${LIBWRAP} ${LIBDL} ${SSL_LIBRARIES})
+- mysql_binlog_event ${LIBWRAP} ${LIBDL} OpenSSL::SSL OpenSSL::Crypto
++ mysql_binlog_event xxhash ${LIBWRAP} ${LIBDL} OpenSSL::SSL OpenSSL::Crypto
+ extra::rapidjson)
# sql/immutable_string.h uses
- # google::protobuf::io::CodedOutputStream::WriteVarint64ToArray
---- mysql-8.0.30/sql/iterators/hash_join_iterator.cc.orig 2022-07-06 23:36:34.000000000 +0200
-+++ mysql-8.0.30/sql/iterators/hash_join_iterator.cc 2022-10-09 17:45:57.618897459 +0200
+diff -ur mysql-8.2.0.orig/sql/iterators/composite_iterators.cc mysql-8.2.0/sql/iterators/composite_iterators.cc
+--- mysql-8.2.0.orig/sql/iterators/composite_iterators.cc 2023-12-18 01:19:35.299294336 +0100
++++ mysql-8.2.0/sql/iterators/composite_iterators.cc 2023-12-18 02:13:09.216002357 +0100
+@@ -35,7 +35,7 @@
+ #include "my_dbug.h"
+ #include "my_inttypes.h"
+ #include "my_sys.h"
+-#include "my_xxhash.h"
++#include <xxhash.h>
+ #include "mysqld_error.h"
+ #include "prealloced_array.h"
+ #include "scope_guard.h"
+@@ -2255,7 +2255,7 @@
+ const ulonglong primary_hash =
+ static_cast<ulonglong>(m_materialized_table->hash_field->val_int());
+ const uint64_t chunk_hash =
+- MY_XXH64(&primary_hash, sizeof(primary_hash), m_hash_seed);
++ XXH64(&primary_hash, sizeof(primary_hash), m_hash_seed);
+
+ const size_t chunk_index = hash_to_chunk_index(chunk_hash);
+ m_offending_row.m_chunk_offset = chunk_offset(chunk_index);
+@@ -2331,7 +2331,7 @@
+ const ulonglong primary_hash =
+ static_cast<ulonglong>(m_materialized_table->hash_field->val_int());
+ const uint64_t chunk_hash =
+- MY_XXH64(&primary_hash, sizeof(primary_hash), m_hash_seed);
++ XXH64(&primary_hash, sizeof(primary_hash), m_hash_seed);
+ const size_t chunk_index = hash_to_chunk_index(chunk_hash);
+ const size_t set_index = chunk_index_to_set(chunk_index);
+ const size_t offset = chunk_offset(chunk_index);
+@@ -2396,7 +2396,7 @@
+ const ulonglong primary_hash =
+ static_cast<ulonglong>(m_materialized_table->hash_field->val_int());
+ const uint64_t chunk_hash =
+- MY_XXH64(&primary_hash, sizeof(primary_hash), m_hash_seed);
++ XXH64(&primary_hash, sizeof(primary_hash), m_hash_seed);
+ const size_t chunk_index = hash_to_chunk_index(chunk_hash);
+ const size_t set_index = chunk_index_to_set(chunk_index);
+ const size_t offset = chunk_offset(chunk_index);
+@@ -2491,7 +2491,7 @@
+ m_materialized_table->hash_field->store(
+ static_cast<longlong>(primary_hash), true);
+ const uint64_t chunk_hash =
+- MY_XXH64(&primary_hash, sizeof(primary_hash), m_hash_seed);
++ XXH64(&primary_hash, sizeof(primary_hash), m_hash_seed);
+ const size_t chunk_index = hash_to_chunk_index(chunk_hash);
+ const size_t set_index = chunk_index_to_set(chunk_index);
+ const size_t offset = chunk_offset(chunk_index);
+@@ -2548,7 +2548,7 @@
+ const ulonglong primary_hash =
+ static_cast<ulonglong>(m_materialized_table->hash_field->val_int());
+ const uint64_t chunk_hash =
+- MY_XXH64(&primary_hash, sizeof(primary_hash), m_hash_seed);
++ XXH64(&primary_hash, sizeof(primary_hash), m_hash_seed);
+ const size_t chunk_index = hash_to_chunk_index(chunk_hash);
+ const size_t set_index = chunk_index_to_set(chunk_index);
+ assert(chunk_offset(chunk_index) == chunk_idx);
+@@ -2787,7 +2787,7 @@
+ const ulonglong primary_hash = static_cast<ulonglong>(
+ m_materialized_table->hash_field->val_int());
+ const uint64_t chunk_hash =
+- MY_XXH64(&primary_hash, sizeof(primary_hash), m_hash_seed);
++ XXH64(&primary_hash, sizeof(primary_hash), m_hash_seed);
+ const size_t chunk_index = hash_to_chunk_index(chunk_hash);
+ const size_t set_index = chunk_index_to_set(chunk_index);
+ assert(chunk_offset(chunk_index) == m_current_chunk_idx);
+@@ -2820,7 +2820,7 @@
+ const ulonglong primary_hash = static_cast<ulonglong>(
+ m_materialized_table->hash_field->val_int());
+ const uint64_t chunk_hash =
+- MY_XXH64(&primary_hash, sizeof(primary_hash), m_hash_seed);
++ XXH64(&primary_hash, sizeof(primary_hash), m_hash_seed);
+ const size_t chunk_index = hash_to_chunk_index(chunk_hash);
+ assert(chunk_index_to_set(chunk_index) == set_idx);
+ assert(chunk_offset(chunk_index) == m_current_chunk_idx);
+@@ -2909,7 +2909,7 @@
+ const ulonglong primary_hash = static_cast<ulonglong>(
+ m_materialized_table->hash_field->val_int());
+ const uint64_t chunk_hash =
+- MY_XXH64(&primary_hash, sizeof(primary_hash), m_hash_seed);
++ XXH64(&primary_hash, sizeof(primary_hash), m_hash_seed);
+ const size_t chunk_index = hash_to_chunk_index(chunk_hash);
+ assert(chunk_index_to_set(chunk_index) == set_idx);
+ assert(chunk_offset(chunk_index) == m_current_chunk_idx);
+diff -ur mysql-8.2.0.orig/sql/iterators/hash_join_iterator.cc mysql-8.2.0/sql/iterators/hash_join_iterator.cc
+--- mysql-8.2.0.orig/sql/iterators/hash_join_iterator.cc 2023-12-18 01:19:35.299294336 +0100
++++ mysql-8.2.0/sql/iterators/hash_join_iterator.cc 2023-12-18 01:20:07.132718589 +0100
@@ -32,7 +32,7 @@
#include "field_types.h"
#include "my_alloc.h"
#include "my_inttypes.h"
#include "my_sys.h"
-@@ -307,7 +307,7 @@ static bool WriteRowToChunk(
+@@ -356,7 +356,7 @@
const uint64_t join_key_hash =
join_key_and_row_buffer->length() == 0
? kZeroKeyLengthHash
join_key_and_row_buffer->length(), xxhash_seed);
assert((chunks->size() & (chunks->size() - 1)) == 0);
---- mysql-8.0.30/sql/rpl_write_set_handler.cc.orig 2022-07-06 23:36:34.000000000 +0200
-+++ mysql-8.0.30/sql/rpl_write_set_handler.cc 2022-10-09 20:07:41.099496817 +0200
-@@ -37,7 +37,7 @@
+diff -ur mysql-8.2.0.orig/sql/rpl_write_set_handler.cc mysql-8.2.0/sql/rpl_write_set_handler.cc
+--- mysql-8.2.0.orig/sql/rpl_write_set_handler.cc 2023-12-18 01:19:35.612298508 +0100
++++ mysql-8.2.0/sql/rpl_write_set_handler.cc 2023-12-18 01:23:09.729155640 +0100
+@@ -36,7 +36,7 @@
#include "my_dbug.h"
#include "my_inttypes.h"
#include "my_murmur3.h" // murmur3_32
-#include "my_xxhash.h" // IWYU pragma: keep
+#include <xxhash.h>
+ #include "mysql/strings/m_ctype.h"
#include "mysql_com.h"
#include "sql-common/json_binary.h"
- #include "sql-common/json_dom.h"
-@@ -75,7 +75,7 @@ uint64 calc_hash(ulong algorithm, type T
+@@ -75,7 +75,7 @@
if (algorithm == HASH_ALGORITHM_MURMUR32)
return (murmur3_32((const uchar *)T, len, 0));
else
}
#ifndef NDEBUG
---- mysql-8.0.30/unittest/gunit/hash_join-t.cc.orig 2022-07-06 23:36:34.000000000 +0200
-+++ mysql-8.0.30/unittest/gunit/hash_join-t.cc 2022-10-09 20:36:43.693389709 +0200
-@@ -28,7 +28,7 @@
-
- #include "include/my_murmur3.h"
- #include "my_alloc.h"
+diff -ur mysql-8.2.0.orig/unittest/gunit/hash_join-t.cc mysql-8.2.0/unittest/gunit/hash_join-t.cc
+--- mysql-8.2.0.orig/unittest/gunit/hash_join-t.cc 2023-12-18 01:19:41.381375395 +0100
++++ mysql-8.2.0/unittest/gunit/hash_join-t.cc 2023-12-18 01:20:51.800313888 +0100
+@@ -37,7 +37,7 @@
+ #include "my_config.h"
+ #include "my_inttypes.h"
+ #include "my_murmur3.h"
-#include "my_xxhash.h"
+#include <xxhash.h>
- #include "sql/item_cmpfunc.h"
- #include "sql/iterators/hash_join_buffer.h"
- #include "sql/iterators/hash_join_iterator.h"
-@@ -204,7 +204,7 @@ static void BM_XXHash64ShortData(size_t
+ #include "mysql/components/services/bits/psi_bits.h"
+ #include "prealloced_array.h"
+ #include "sql/field.h"
+@@ -226,7 +226,7 @@
size_t sum = 0;
for (size_t i = 0; i < num_iterations; ++i) {
}
StopBenchmarkTiming();
-@@ -223,7 +223,7 @@ static void BM_XXHash64LongData(size_t n
+@@ -245,7 +245,7 @@
size_t sum = 0;
for (size_t i = 0; i < num_iterations; ++i) {
}
StopBenchmarkTiming();
---- mysql-8.0.30/unittest/gunit/innodb/ut0rnd-t.cc.orig 2022-07-06 23:36:34.000000000 +0200
-+++ mysql-8.0.30/unittest/gunit/innodb/ut0rnd-t.cc 2022-10-09 20:46:00.157041753 +0200
+diff -ur mysql-8.2.0.orig/unittest/gunit/innodb/ut0rnd-t.cc mysql-8.2.0/unittest/gunit/innodb/ut0rnd-t.cc
+--- mysql-8.2.0.orig/unittest/gunit/innodb/ut0rnd-t.cc 2023-12-18 01:19:41.600378312 +0100
++++ mysql-8.2.0/unittest/gunit/innodb/ut0rnd-t.cc 2023-12-18 01:20:07.134718615 +0100
@@ -33,7 +33,7 @@
#include "storage/innobase/include/ut0crc32.h"
#include "storage/innobase/include/ut0rnd.h"
Release: 1
License: GPL v2 + MySQL FOSS License Exception
Group: Applications/Databases
-#Source0Download: https://dev.mysql.com/downloads/mysql/8.2.html#downloads
Source0: http://cdn.mysql.com/Downloads/MySQL-%{majorver}/mysql-%{version}.tar.gz
# Source0-md5: 9ddeecbdb046cd4a8a4340445206130d
Source100: http://www.sphinxsearch.com/files/sphinx-2.2.11-release.tar.gz
Source12: mysql-ndb-cpc.sysconfig
Source13: mysql-client.conf
Source14: my.cnf
-Patch0: mysql-opt.patch
Patch1: mysql-system-xxhash.patch
Patch17: mysql-5.7-sphinx.patch
Patch24: mysql-cmake.patch
Patch25: mysql-readline.patch
-Patch26: mysqldumpslow-clusters.patch
URL: http://www.mysql.com/products/community/
BuildRequires: bison >= 1.875
%{?with_system_boost:BuildRequires: boost-devel >= 1.77.0}
%{?with_ldap:BuildRequires: cyrus-sasl-devel}
# for configure and tests
%{?with_ldap:BuildRequires: cyrus-sasl-scram}
-#%{?with_ldap:BuildRequires: krb5-devel}
BuildRequires: libaio-devel
BuildRequires: libevent-devel
BuildRequires: libhsclient-devel
%prep
%setup -q %{?with_sphinx:-a100} %{!?with_system_boost:-a101} -n mysql-%{version}
-#%patch0 -p1
-# FIXME
-#%patch1 -p1
+%patch1 -p1
%if %{with sphinx}
# http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51
%patch24 -p1
%patch25 -p1
-#%patch26 -p1
-
# to get these files rebuild
[ -f sql/sql_yacc.cc ] && %{__rm} sql/sql_yacc.cc
[ -f sql/sql_yacc.h ] && %{__rm} sql/sql_yacc.h
# ensure sytstem lib
# need to keep xxhash.[ch]
-# FIXME
-#%{__rm} -rv extra/lz4/lz4**
+%{__rm} -rv extra/lz4/lz4**
%build
install -d build
%{__mv} $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk
%{__mv} $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamlog
%{__mv} $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisampack
-#%{__mv} $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_fix_privilege_tables
%{__mv} $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/my_print_defaults
%{__mv} $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck
%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysqld_safe
%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysqld_multi
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}*
-#%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql-log-rotate
-#%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql.server
-#%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server*
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1*
%attr(755,root,root) %{_libdir}/%{name}/plugin/auth.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_socket.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_test_plugin.so
-#%attr(755,root,root) %{_libdir}/%{name}/plugin/authentication_fido_client.so
-#%{?with_ldap:%attr(755,root,root) %{_libdir}/%{name}/plugin/authentication_ldap_sasl_client.so}
-#%attr(755,root,root) %{_libdir}/%{name}/plugin/authentication_oci_client.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/component_audit_api_message_emit.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/component_keyring_file.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/component_log_filter_dragnet.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/test_services_host_application_signal.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/test_services_plugin_registry.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/udf_example.so
-#%dir %{_datadir}/sql-bench
-#%{_datadir}/sql-bench/[CDRl]*
-#%attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]*
%{_mandir}/man1/lz4_decompress.1*
%{_mandir}/man1/mysqlslap%{majorver}.1*
%{_mandir}/man1/zlib_decompress%{majorver}.1*
-#%files doc
-#%defattr(644,root,root,755)
-#%doc Docs/manual.html Docs/manual_toc.html
-
%if %{with ndb}
%files ndb
%defattr(644,root,root,755)