]> TLD Linux GIT Repositories - packages/mysql.git/blob - mysql-system-xxhash.patch
- MySQL 8.2 from PLD
[packages/mysql.git] / mysql-system-xxhash.patch
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);
6  
7 -  return GCS_XXH64(info.c_str(), info.size(), 0);
8 +  return XXH64(info.c_str(), info.size(), 0);
9  }
10  
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
14 @@ -25,10 +25,6 @@
15    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
16  */
17  
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_
21 -
22 -#include "xxhash.h"
23 +#include <xxhash.h>
24  
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)
41  
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
47    ${CONF_SOURCES}
48    ${SQL_SHARED_SOURCES}
49    ${SQL_HEADERS}
50 -  ${BUNDLED_LZ4_PATH}/xxhash.c
51    ../libmysql/errmsg.cc
52    ../sql-common/client.cc
53    ../sql-common/client_plugin.cc
54 @@ -813,11 +812,6 @@ IF(WIN32)
55        )
56  ENDIF()
57  
58 -MY_ADD_COMPILE_DEFINITIONS(
59 -  ${BUNDLED_LZ4_PATH}/xxhash.c
60 -  COMPILE_DEFINITIONS XXH_NAMESPACE=MY_
61 -  )
62 -
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)
67      )
68  ENDIF()
69  
70 -ADD_COMPILE_FLAGS(
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}
75 -  )
76 -
77  # Fixes "C1128: number of sections exceeded object file format limit" in MSVC
78  IF(WIN32)
79    ADD_COMPILE_FLAGS(
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})
86  
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
91 @@ -32,7 +32,7 @@
92  #include "field_types.h"
93  #include "my_alloc.h"
94  #include "my_bit.h"
95 -#include "my_xxhash.h"
96 +#include <xxhash.h>
97  
98  #include "my_inttypes.h"
99  #include "my_sys.h"
100 @@ -307,7 +307,7 @@ static bool WriteRowToChunk(
101    const uint64_t join_key_hash =
102        join_key_and_row_buffer->length() == 0
103            ? kZeroKeyLengthHash
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);
107  
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
111 @@ -37,7 +37,7 @@
112  #include "my_dbug.h"
113  #include "my_inttypes.h"
114  #include "my_murmur3.h"  // murmur3_32
115 -#include "my_xxhash.h"   // IWYU pragma: keep
116 +#include <xxhash.h>
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));
123    else
124 -    return (MY_XXH64((const uchar *)T, len, 0));
125 +    return (XXH64((const uchar *)T, len, 0));
126  }
127  
128  #ifndef NDEBUG
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
131 @@ -28,7 +28,7 @@
132  
133  #include "include/my_murmur3.h"
134  #include "my_alloc.h"
135 -#include "my_xxhash.h"
136 +#include <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
141  
142    size_t sum = 0;
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);
146    }
147    StopBenchmarkTiming();
148  
149 @@ -223,7 +223,7 @@ static void BM_XXHash64LongData(size_t n
150  
151    size_t sum = 0;
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);
155    }
156    StopBenchmarkTiming();
157  
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
160 @@ -33,7 +33,7 @@
161  #include "storage/innobase/include/ut0crc32.h"
162  #include "storage/innobase/include/ut0rnd.h"
163  
164 -#include "my_xxhash.h"
165 +#include <xxhash.h>
166  
167  namespace innodb_ut0rnd_unittest {
168