1 --- 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
2 +++ mysql-8.0.30/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc 2022-10-09 14:33:34.598098038 +0200
3 @@ -126,7 +126,7 @@ Gcs_sender_id calculate_sender_id(const
4 std::string info(node.get_member_id().get_member_id());
5 info.append(node.get_member_uuid().actual_value);
7 - return GCS_XXH64(info.c_str(), info.size(), 0);
8 + return XXH64(info.c_str(), info.size(), 0);
11 bool Gcs_message_stage_split_v2::update_members_information(
12 --- mysql-8.0.30/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h.orig 2022-07-06 23:36:34.000000000 +0200
13 +++ mysql-8.0.30/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h 2022-10-09 08:41:35.109178797 +0200
15 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 -// Define a namespace prefix to all xxhash functions. This is done to
19 -// avoid conflict with xxhash symbols in liblz4.
20 -#define XXH_NAMESPACE GCS_
25 #endif // GCS_XXHASH_H_INCLUDED
26 --- mysql-8.0.30/plugin/group_replication/libmysqlgcs/CMakeLists.txt.orig 2022-07-06 23:36:34.000000000 +0200
27 +++ mysql-8.0.30/plugin/group_replication/libmysqlgcs/CMakeLists.txt 2022-10-09 08:42:55.768741827 +0200
28 @@ -140,7 +140,6 @@ SET(GCS_SOURCES
29 src/bindings/xcom/gcs_xcom_statistics_interface.cc
30 src/bindings/xcom/gcs_xcom_proxy.cc
31 src/bindings/xcom/gcs_xcom_communication_protocol_changer.cc
32 - ${BUNDLED_LZ4_PATH}/xxhash.c # required by gcs_message_stage_split
33 src/bindings/xcom/gcs_message_stage_split.cc
34 src/bindings/xcom/gcs_xcom_synode.cc
35 src/bindings/xcom/gcs_xcom_expels_in_progress.cc)
36 @@ -219,6 +218,7 @@ ADD_LIBRARY(mysqlgcs STATIC ${XCOM_SOURC
37 # Dependency on mysys from gcs_logging_system.cc
38 # but pick up symbols from the server:
39 # TARGET_LINK_LIBRARIES(mysqlgcs mysys)
40 +TARGET_LINK_LIBRARIES(mysqlgcs xxhash)
42 IF(CMAKE_VERSION VERSION_GREATER "3.19" AND NOT APPLE_XCODE)
43 # New in version 3.19:
44 --- mysql-8.0.30/sql/CMakeLists.txt.orig 2022-07-06 23:36:34.000000000 +0200
45 +++ mysql-8.0.30/sql/CMakeLists.txt 2022-10-09 08:53:20.935355008 +0200
46 @@ -755,7 +755,6 @@ SET(SQL_SOURCE
50 - ${BUNDLED_LZ4_PATH}/xxhash.c
52 ../sql-common/client.cc
53 ../sql-common/client_plugin.cc
54 @@ -813,11 +812,6 @@ IF(WIN32)
58 -MY_ADD_COMPILE_DEFINITIONS(
59 - ${BUNDLED_LZ4_PATH}/xxhash.c
60 - COMPILE_DEFINITIONS XXH_NAMESPACE=MY_
63 # Workaround for Apple Clang bug on ARM.
64 # When linking mysqld (and executables using server_unittest_library)
65 # we get linker warnings about
66 @@ -842,13 +836,6 @@ IF(APPLE_ARM)
71 - ${BUNDLED_LZ4_PATH}/xxhash.c
72 - iterators/hash_join_iterator.cc
73 - rpl_write_set_handler.cc
74 - COMPILE_FLAGS -I${CMAKE_SOURCE_DIR}/extra/lz4 -I${BUNDLED_LZ4_PATH}
77 # Fixes "C1128: number of sections exceeded object file format limit" in MSVC
80 @@ -924,7 +911,7 @@ ADD_DEPENDENCIES(sql_main GenBootstrapPr
81 ADD_DEPENDENCIES(sql_main GenSysSchema)
82 TARGET_LINK_LIBRARIES(sql_main ${MYSQLD_STATIC_PLUGIN_LIBS}
83 mysql_server_component_services mysys strings vio
84 - binlogevents_static ${LIBWRAP} ${LIBDL} ${SSL_LIBRARIES})
85 + binlogevents_static xxhash ${LIBWRAP} ${LIBDL} ${SSL_LIBRARIES})
87 # sql/immutable_string.h uses
88 # google::protobuf::io::CodedOutputStream::WriteVarint64ToArray
89 --- mysql-8.0.30/sql/iterators/hash_join_iterator.cc.orig 2022-07-06 23:36:34.000000000 +0200
90 +++ mysql-8.0.30/sql/iterators/hash_join_iterator.cc 2022-10-09 17:45:57.618897459 +0200
92 #include "field_types.h"
95 -#include "my_xxhash.h"
98 #include "my_inttypes.h"
100 @@ -307,7 +307,7 @@ static bool WriteRowToChunk(
101 const uint64_t join_key_hash =
102 join_key_and_row_buffer->length() == 0
104 - : MY_XXH64(join_key_and_row_buffer->ptr(),
105 + : XXH64(join_key_and_row_buffer->ptr(),
106 join_key_and_row_buffer->length(), xxhash_seed);
108 assert((chunks->size() & (chunks->size() - 1)) == 0);
109 --- mysql-8.0.30/sql/rpl_write_set_handler.cc.orig 2022-07-06 23:36:34.000000000 +0200
110 +++ mysql-8.0.30/sql/rpl_write_set_handler.cc 2022-10-09 20:07:41.099496817 +0200
113 #include "my_inttypes.h"
114 #include "my_murmur3.h" // murmur3_32
115 -#include "my_xxhash.h" // IWYU pragma: keep
117 #include "mysql_com.h"
118 #include "sql-common/json_binary.h"
119 #include "sql-common/json_dom.h"
120 @@ -75,7 +75,7 @@ uint64 calc_hash(ulong algorithm, type T
121 if (algorithm == HASH_ALGORITHM_MURMUR32)
122 return (murmur3_32((const uchar *)T, len, 0));
124 - return (MY_XXH64((const uchar *)T, len, 0));
125 + return (XXH64((const uchar *)T, len, 0));
129 --- mysql-8.0.30/unittest/gunit/hash_join-t.cc.orig 2022-07-06 23:36:34.000000000 +0200
130 +++ mysql-8.0.30/unittest/gunit/hash_join-t.cc 2022-10-09 20:36:43.693389709 +0200
133 #include "include/my_murmur3.h"
134 #include "my_alloc.h"
135 -#include "my_xxhash.h"
137 #include "sql/item_cmpfunc.h"
138 #include "sql/iterators/hash_join_buffer.h"
139 #include "sql/iterators/hash_join_iterator.h"
140 @@ -204,7 +204,7 @@ static void BM_XXHash64ShortData(size_t
143 for (size_t i = 0; i < num_iterations; ++i) {
144 - sum += MY_XXH64(&data[0], data.size(), 0);
145 + sum += XXH64(&data[0], data.size(), 0);
147 StopBenchmarkTiming();
149 @@ -223,7 +223,7 @@ static void BM_XXHash64LongData(size_t n
152 for (size_t i = 0; i < num_iterations; ++i) {
153 - sum += MY_XXH64(&data[0], data.size(), 0);
154 + sum += XXH64(&data[0], data.size(), 0);
156 StopBenchmarkTiming();
158 --- mysql-8.0.30/unittest/gunit/innodb/ut0rnd-t.cc.orig 2022-07-06 23:36:34.000000000 +0200
159 +++ mysql-8.0.30/unittest/gunit/innodb/ut0rnd-t.cc 2022-10-09 20:46:00.157041753 +0200
161 #include "storage/innobase/include/ut0crc32.h"
162 #include "storage/innobase/include/ut0rnd.h"
164 -#include "my_xxhash.h"
167 namespace innodb_ut0rnd_unittest {