-diff -urNpa mysql-8.4.0.orig/plugin/group_replication/libmysqlgcs/CMakeLists.txt mysql-8.4.0/plugin/group_replication/libmysqlgcs/CMakeLists.txt
---- mysql-8.4.0.orig/plugin/group_replication/libmysqlgcs/CMakeLists.txt 2024-05-09 18:15:12.545961950 +0200
-+++ mysql-8.4.0/plugin/group_replication/libmysqlgcs/CMakeLists.txt 2024-05-09 18:15:56.994571858 +0200
+diff -urNpa mysql-8.4.3.orig/plugin/group_replication/libmysqlgcs/CMakeLists.txt mysql-8.4.3/plugin/group_replication/libmysqlgcs/CMakeLists.txt
+--- mysql-8.4.3.orig/plugin/group_replication/libmysqlgcs/CMakeLists.txt 2024-12-04 01:34:56.142218563 +0100
++++ mysql-8.4.3/plugin/group_replication/libmysqlgcs/CMakeLists.txt 2024-12-04 01:38:54.885959476 +0100
@@ -138,7 +138,6 @@ SET(GCS_SOURCES
src/bindings/xcom/gcs_xcom_statistics_interface.cc
src/bindings/xcom/gcs_xcom_proxy.cc
# TARGET_LINK_LIBRARIES(mysqlgcs mysys)
+TARGET_LINK_LIBRARIES(mysqlgcs xxhash)
- IF(LINUX AND WITH_TIRPC STREQUAL "bundled")
- ADD_DEPENDENCIES(mysqlgcs tirpc_ext)
-diff -urNpa mysql-8.4.0.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc mysql-8.4.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc
---- mysql-8.4.0.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc 2024-05-09 18:15:12.549962005 +0200
-+++ mysql-8.4.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc 2024-05-09 18:15:57.910584352 +0200
+ IF(CMAKE_VERSION VERSION_GREATER "3.19" AND NOT APPLE_XCODE)
+ # New in version 3.19:
+diff -urNpa mysql-8.4.3.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc mysql-8.4.3/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc
+--- mysql-8.4.3.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc 2024-12-04 01:34:56.142218563 +0100
++++ mysql-8.4.3/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc 2024-12-04 01:38:54.885959476 +0100
@@ -127,7 +127,7 @@ Gcs_sender_id calculate_sender_id(const
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(
-diff -urNpa mysql-8.4.0.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h mysql-8.4.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h
---- mysql-8.4.0.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h 2024-05-09 18:15:12.549962005 +0200
-+++ mysql-8.4.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h 2024-05-09 18:15:57.910584352 +0200
+diff -urNpa mysql-8.4.3.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h mysql-8.4.3/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h
+--- mysql-8.4.3.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h 2024-12-04 01:34:56.146218627 +0100
++++ mysql-8.4.3/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h 2024-12-04 01:38:54.885959476 +0100
@@ -26,10 +26,6 @@
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include <xxhash.h>
#endif // GCS_XXHASH_H_INCLUDED
-diff -urNpa mysql-8.4.0.orig/sql/CMakeLists.txt mysql-8.4.0/sql/CMakeLists.txt
---- mysql-8.4.0.orig/sql/CMakeLists.txt 2024-05-09 18:15:03.917843242 +0200
-+++ mysql-8.4.0/sql/CMakeLists.txt 2024-05-09 18:16:12.978789893 +0200
+diff -urNpa mysql-8.4.3.orig/sql/CMakeLists.txt mysql-8.4.3/sql/CMakeLists.txt
+--- mysql-8.4.3.orig/sql/CMakeLists.txt 2024-12-04 01:35:02.086311702 +0100
++++ mysql-8.4.3/sql/CMakeLists.txt 2024-12-04 01:40:44.595678425 +0100
@@ -762,7 +762,6 @@ SET(SQL_SOURCE
${CONF_SOURCES}
${SQL_SHARED_SOURCES}
# Workaround for Apple Clang bug on ARM.
# When linking mysqld (and executables using server_unittest_library)
# we get linker warnings about
-@@ -858,14 +852,6 @@ IF(APPLE_ARM)
+@@ -857,14 +851,6 @@ IF(APPLE_ARM)
+ )
ENDIF()
- ADD_COMPILE_FLAGS(
+-ADD_COMPILE_FLAGS(
- ${BUNDLED_LZ4_PATH}/xxhash.c
- iterators/hash_join_iterator.cc
- iterators/composite_iterators.cc
- COMPILE_FLAGS -I${CMAKE_SOURCE_DIR}/extra/lz4 -I${BUNDLED_LZ4_PATH}
- )
-
--ADD_COMPILE_FLAGS(
- iterators/composite_iterators.cc
- iterators/hash_join_buffer.cc
- COMPILE_FLAGS
-@@ -966,7 +952,7 @@ MYSQL_ADD_PLUGIN(mysql_native_password
+ # Fixes "C1128: number of sections exceeded object file format limit" in MSVC
+ IF(WIN32)
+ ADD_COMPILE_FLAGS(
+@@ -962,7 +948,7 @@ TARGET_INCLUDE_DIRECTORIES(sql_main SYST
TARGET_LINK_LIBRARIES(sql_main ${MYSQLD_STATIC_PLUGIN_LIBS}
mysql_server_component_services mysys strings vio
extra::rapidjson extra::boost)
# sql/immutable_string.h uses
-diff -urNpa mysql-8.4.0.orig/sql/iterators/composite_iterators.cc mysql-8.4.0/sql/iterators/composite_iterators.cc
---- mysql-8.4.0.orig/sql/iterators/composite_iterators.cc 2024-05-09 18:15:03.989844233 +0200
-+++ mysql-8.4.0/sql/iterators/composite_iterators.cc 2024-05-09 18:15:57.910584352 +0200
+diff -urNpa mysql-8.4.3.orig/sql/iterators/composite_iterators.cc mysql-8.4.3/sql/iterators/composite_iterators.cc
+--- mysql-8.4.3.orig/sql/iterators/composite_iterators.cc 2024-12-04 01:35:02.630320226 +0100
++++ mysql-8.4.3/sql/iterators/composite_iterators.cc 2024-12-04 01:38:54.889959539 +0100
@@ -44,7 +44,7 @@
#include "my_dbug.h"
#include "my_inttypes.h"
#include "mysql_com.h"
#include "mysqld_error.h"
#include "prealloced_array.h"
-@@ -2928,7 +2928,7 @@ bool SpillState::compute_chunk_file_sets
+@@ -2932,7 +2932,7 @@ bool SpillState::compute_chunk_file_sets
const ulonglong primary_hash =
static_cast<ulonglong>(m_materialized_table->hash_field->val_int());
const uint64_t chunk_hash =
const size_t chunk_index = hash_to_chunk_index(chunk_hash);
m_offending_row.m_chunk_offset = chunk_offset(chunk_index);
-@@ -3005,7 +3005,7 @@ bool SpillState::spread_hash_map_to_HF_c
+@@ -3009,7 +3009,7 @@ bool SpillState::spread_hash_map_to_HF_c
const ulonglong primary_hash =
static_cast<ulonglong>(m_materialized_table->hash_field->val_int());
const uint64_t chunk_hash =
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);
-@@ -3070,7 +3070,7 @@ bool SpillState::append_hash_map_to_HF()
+@@ -3074,7 +3074,7 @@ bool SpillState::append_hash_map_to_HF()
const ulonglong primary_hash =
static_cast<ulonglong>(m_materialized_table->hash_field->val_int());
const uint64_t chunk_hash =
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);
-@@ -3164,7 +3164,7 @@ bool SpillState::save_operand_to_IF_chun
+@@ -3168,7 +3168,7 @@ bool SpillState::save_operand_to_IF_chun
m_materialized_table->hash_field->store(
static_cast<longlong>(primary_hash), true);
const uint64_t chunk_hash =
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);
-@@ -3219,7 +3219,7 @@ bool SpillState::write_HF(THD *thd, size
+@@ -3223,7 +3223,7 @@ bool SpillState::write_HF(THD *thd, size
const ulonglong primary_hash =
static_cast<ulonglong>(m_materialized_table->hash_field->val_int());
const uint64_t chunk_hash =
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);
-@@ -3452,7 +3452,7 @@ int SpillState::read_next_row(const Oper
+@@ -3456,7 +3456,7 @@ int SpillState::read_next_row(const Oper
const ulonglong primary_hash = static_cast<ulonglong>(
m_materialized_table->hash_field->val_int());
const uint64_t chunk_hash =
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);
-@@ -3485,7 +3485,7 @@ int SpillState::read_next_row(const Oper
+@@ -3489,7 +3489,7 @@ int SpillState::read_next_row(const Oper
const ulonglong primary_hash = static_cast<ulonglong>(
m_materialized_table->hash_field->val_int());
const uint64_t chunk_hash =
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);
-@@ -3574,7 +3574,7 @@ int SpillState::read_next_row_secondary_
+@@ -3578,7 +3578,7 @@ int SpillState::read_next_row_secondary_
const ulonglong primary_hash = static_cast<ulonglong>(
m_materialized_table->hash_field->val_int());
const uint64_t chunk_hash =
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 -urNpa mysql-8.4.0.orig/sql/iterators/hash_join_iterator.cc mysql-8.4.0/sql/iterators/hash_join_iterator.cc
---- mysql-8.4.0.orig/sql/iterators/hash_join_iterator.cc 2024-05-09 18:15:03.989844233 +0200
-+++ mysql-8.4.0/sql/iterators/hash_join_iterator.cc 2024-05-09 18:15:57.910584352 +0200
+diff -urNpa mysql-8.4.3.orig/sql/iterators/hash_join_iterator.cc mysql-8.4.3/sql/iterators/hash_join_iterator.cc
+--- mysql-8.4.3.orig/sql/iterators/hash_join_iterator.cc 2024-12-04 01:35:02.646320477 +0100
++++ mysql-8.4.3/sql/iterators/hash_join_iterator.cc 2024-12-04 01:38:54.889959539 +0100
@@ -38,7 +38,7 @@
#include "my_dbug.h"
#include "my_inttypes.h"
join_key_and_row_buffer->length(), xxhash_seed);
assert((chunks->size() & (chunks->size() - 1)) == 0);
-diff -urNpa mysql-8.4.0.orig/sql/rpl_write_set_handler.cc mysql-8.4.0/sql/rpl_write_set_handler.cc
---- mysql-8.4.0.orig/sql/rpl_write_set_handler.cc 2024-05-09 18:15:03.945843627 +0200
-+++ mysql-8.4.0/sql/rpl_write_set_handler.cc 2024-05-09 18:15:57.910584352 +0200
+diff -urNpa mysql-8.4.3.orig/sql/rpl_write_set_handler.cc mysql-8.4.3/sql/rpl_write_set_handler.cc
+--- mysql-8.4.3.orig/sql/rpl_write_set_handler.cc 2024-12-04 01:35:03.554334705 +0100
++++ mysql-8.4.3/sql/rpl_write_set_handler.cc 2024-12-04 01:38:54.889959539 +0100
@@ -37,7 +37,7 @@
#include "my_dbug.h"
#include "my_inttypes.h"
if (thd->get_transaction()->get_transaction_write_set_ctx()->add_write_set(
hash))
return true;
-diff -urNpa mysql-8.4.0.orig/unittest/gunit/hash_join-t.cc mysql-8.4.0/unittest/gunit/hash_join-t.cc
---- mysql-8.4.0.orig/unittest/gunit/hash_join-t.cc 2024-05-09 18:15:15.950008783 +0200
-+++ mysql-8.4.0/unittest/gunit/hash_join-t.cc 2024-05-09 18:15:57.910584352 +0200
+diff -urNpa mysql-8.4.3.orig/unittest/gunit/hash_join-t.cc mysql-8.4.3/unittest/gunit/hash_join-t.cc
+--- mysql-8.4.3.orig/unittest/gunit/hash_join-t.cc 2024-12-04 01:35:04.698352631 +0100
++++ mysql-8.4.3/unittest/gunit/hash_join-t.cc 2024-12-04 01:38:54.889959539 +0100
@@ -38,7 +38,7 @@
#include "my_config.h"
#include "my_inttypes.h"
}
StopBenchmarkTiming();
-diff -urNpa mysql-8.4.0.orig/unittest/gunit/innodb/ut0rnd-t.cc mysql-8.4.0/unittest/gunit/innodb/ut0rnd-t.cc
---- mysql-8.4.0.orig/unittest/gunit/innodb/ut0rnd-t.cc 2024-05-09 18:15:15.998009443 +0200
-+++ mysql-8.4.0/unittest/gunit/innodb/ut0rnd-t.cc 2024-05-09 18:15:57.910584352 +0200
+diff -urNpa mysql-8.4.3.orig/unittest/gunit/innodb/ut0rnd-t.cc mysql-8.4.3/unittest/gunit/innodb/ut0rnd-t.cc
+--- mysql-8.4.3.orig/unittest/gunit/innodb/ut0rnd-t.cc 2024-12-04 01:35:04.826354637 +0100
++++ mysql-8.4.3/unittest/gunit/innodb/ut0rnd-t.cc 2024-12-04 01:38:54.889959539 +0100
@@ -34,7 +34,7 @@
#include "storage/innobase/include/ut0crc32.h"
#include "storage/innobase/include/ut0rnd.h"