git: 92fc4ba36cfa - main - databases/mysql80-{client, server}: Update to 8,0.41

From: Jochen Neumeister <joneum_at_FreeBSD.org>
Date: Wed, 19 Mar 2025 09:59:51 UTC
The branch main has been updated by joneum:

URL: https://cgit.FreeBSD.org/ports/commit/?id=92fc4ba36cfa5fa37f68228c95295e12a493518d

commit 92fc4ba36cfa5fa37f68228c95295e12a493518d
Author:     Christos Chatzaras <chris@cretaforce.gr>
AuthorDate: 2025-03-19 09:56:43 +0000
Commit:     Jochen Neumeister <joneum@FreeBSD.org>
CommitDate: 2025-03-19 09:58:57 +0000

    databases/mysql80-{client, server}: Update to 8,0.41
    
    Bugs Fixed
    
        Incompatible Change: Corruption occurred in a spatial index when an
    update of a geometry with a minimal change in the minimum bounding
    rectangle (MBR) was followed by a delete operation.
    
        When upgrading to this release, it is recommended that you drop any
    spatial indexes beforehand, then re-create them after the upgrade is
    complete. Alternatively, you can drop and re-create such indexes
    immediately following the upgrade, but before making use of any of the
    tables in which they occur. You should also be aware that downgrading to
    any previous version reintroduces the original problem described
    previously.
    
        For more information, see Creating Spatial Indexes. (Bug #36452528)
    
        InnoDB: Concurrently truncating a table while querying the
    Performance Schema sometimes cause MySQL to halt unexpectedly. (Bug
    
        InnoDB: It was possible for an ALTER TABLE operation using the
    INPLACE algorithm on a table containing both a spatial index and an
    auto-increment column to cause corruption or, in debug builds, to
    trigger a debug assert. This was due to the auto-increment column value
    being overwritten in the old records of the spatial index while the new
    record was prepared. (Bug #37189985)
    
        InnoDB: Certain IO buffer serializations triggered an assertion in
    debug builds that caused the system to hang. (Bug #37139618)
    
        InnoDB: Improved InnoDB start up time. (Bug #36880863)
    
        References: This issue is a regression of: Bug #36808732.
    
        InnoDB: An assertion failure was raised when creating a FULLTEXT
    index on a table with an FTS_DOC_ID value greater than 4294967295. (Bug
    
        References: See also: Bug #37387224.
    
        InnoDB: Dropping a primary key, and then adding a new AUTO_INCREMENT
    column as a primary key in descending order using the INPLACE algorithm
    failed.
    
        Our thanks to Shaohua Wang and the team at Alibaba for the
    contribution. (Bug #36658450)
    
        InnoDB: Extending a user tablespace produces file extension redo log
    records (MLOG_FILE_EXTEND), but they were not produced when extending
    the system tablespace. (Bug #36511673)
    
        InnoDB: A DELETE operation on a table with a self referential
    foreign key and full-text index could have triggered an assertion. (Bug
    
        InnoDB: When clearing an AHI index from all buffer pool pages, the
    block state would potentially change to BUF_BLOCK_MEMORY before
    acquiring the block mutex thus causing an unexpected halt. (Bug
    
        InnoDB: Common prefix compression for redo log inserts
    (MLOG_REC_INSERT) was disabled but is now enabled when the versions
    match. (Bug #34946626)
    
        References: This issue is a regression of: Bug #13899.
    
        InnoDB: Virtual column information for a row containing an
    externally stored BLOB was not always logged during an UPDATE operation,
    which sometimes resulted in an Index PRIMARY is corrupted error. (Bug
    
        InnoDB: ON DELETE CASCADE with generated columns containing
    secondary indexes sometimes failed, due to virtual column templates not
    being initialized before deletion.
    
    Full Changelog see:
    - https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-41.html
    - https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-40.html
    
    PR:     285112
    Sponsored by:   Netzkommund GmbH
---
 databases/mysql80-client/Makefile                  |  2 +-
 databases/mysql80-server/Makefile                  |  4 +--
 databases/mysql80-server/distinfo                  |  6 ++--
 .../files/patch-client_CMakeLists.txt              | 40 ++++++++++++++++++----
 .../files/patch-include_my__stacktrace.h           |  8 ++---
 5 files changed, 44 insertions(+), 16 deletions(-)

diff --git a/databases/mysql80-client/Makefile b/databases/mysql80-client/Makefile
index 55f14dfbbcad..57ea54fb66e6 100644
--- a/databases/mysql80-client/Makefile
+++ b/databases/mysql80-client/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	mysql
-PORTREVISION=	1
+PORTREVISION=	0
 PKGNAMESUFFIX=	80-client
 
 COMMENT=	Multithreaded SQL database (client)
diff --git a/databases/mysql80-server/Makefile b/databases/mysql80-server/Makefile
index d4881b365a1a..a67a1f6d72c0 100644
--- a/databases/mysql80-server/Makefile
+++ b/databases/mysql80-server/Makefile
@@ -1,6 +1,6 @@
 PORTNAME?=		mysql
-PORTVERSION=		8.0.39
-PORTREVISION?=		2
+PORTVERSION=		8.0.41
+PORTREVISION?=		0
 CATEGORIES=		databases
 MASTER_SITES=		MYSQL/MySQL-8.0
 PKGNAMESUFFIX?=		80-server
diff --git a/databases/mysql80-server/distinfo b/databases/mysql80-server/distinfo
index aefd6a834a7f..fdce4f89df59 100644
--- a/databases/mysql80-server/distinfo
+++ b/databases/mysql80-server/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1721978886
-SHA256 (mysql-boost-8.0.39.tar.gz) = 93208da9814116d81a384eae42120fd6c2ed507f1696064c510bc36047050241
-SIZE (mysql-boost-8.0.39.tar.gz) = 449265424
+TIMESTAMP = 1740937221
+SHA256 (mysql-boost-8.0.41.tar.gz) = 719589993b1a6769edb82b59f28e0dab8d47df94fa53ac4e9340b7c5eaba937c
+SIZE (mysql-boost-8.0.41.tar.gz) = 488749630
diff --git a/databases/mysql80-server/files/patch-client_CMakeLists.txt b/databases/mysql80-server/files/patch-client_CMakeLists.txt
index 078e0172735c..3eedd84ee080 100644
--- a/databases/mysql80-server/files/patch-client_CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-client_CMakeLists.txt
@@ -1,4 +1,4 @@
---- client/CMakeLists.txt.orig	2024-07-12 19:15:25 UTC
+--- client/CMakeLists.txt.orig	2024-12-16 09:20:55 UTC
 +++ client/CMakeLists.txt
 @@ -29,10 +29,13 @@ ADD_SUBDIRECTORY(base)
  ## Subdirectory with common client code.
@@ -30,17 +30,45 @@
  MYSQL_ADD_EXECUTABLE(mysqltest
    mysqltest.cc
    mysqltest/error_names.cc
-@@ -72,6 +77,9 @@ MYSQL_ADD_EXECUTABLE(mysqltest
+@@ -72,11 +77,13 @@ MYSQL_ADD_EXECUTABLE(mysqltest
    ENABLE_EXPORTS
    LINK_LIBRARIES mysqlclient
    )
 +ENDIF()
-+
+ 
+ IF(MY_COMPILER_IS_GNU AND (WITH_LTO OR CMAKE_COMPILER_FLAG_WITH_LTO))
+   TARGET_LINK_OPTIONS(mysqltest PRIVATE -Wno-error=stringop-overflow)
+ ENDIF()
+ 
 +IF(WITHOUT_SERVER)
  MYSQL_ADD_EXECUTABLE(mysqlcheck
    check/mysqlcheck.cc
    check/mysqlcheck_core.cc
-@@ -276,7 +284,9 @@ TARGET_INCLUDE_DIRECTORIES(mysqlbinlog PRIVATE ${CMAKE
+@@ -257,6 +264,23 @@ ENDIF()
+     COMPILE_FLAGS " -Wno-microsoft-template")
+ ENDIF()
+ 
++# The client version of log_event.cc has false positives.
++# Downgrade from error to warning:
++IF(MY_COMPILER_IS_GNU AND CMAKE_BUILD_TYPE_UPPER STREQUAL "RELWITHDEBINFO")
++  ADD_COMPILE_FLAGS(${CMAKE_SOURCE_DIR}/sql/log_event.cc
++    COMPILE_FLAGS
++    " -Wno-error=uninitialized"
++    " -Wno-error=maybe-uninitialized"
++    )
++ENDIF()
++
++# duplicate explicit instantiation of 'net_field_length_checked'
++# ignored as a Microsoft extension
++IF(WIN32_CLANG)
++  ADD_COMPILE_FLAGS(${CMAKE_SOURCE_DIR}/sql/log_event.cc
++    COMPILE_FLAGS " -Wno-microsoft-template")
++ENDIF()
++
+ SET(MYSQLBINLOG_LIBRARIES
+   binlogevents_static
+   client_base
+@@ -298,7 +322,9 @@ TARGET_INCLUDE_DIRECTORIES(mysqlbinlog PRIVATE ${CMAKE
  
  TARGET_COMPILE_DEFINITIONS(mysqlbinlog PRIVATE DISABLE_PSI_MUTEX)
  TARGET_INCLUDE_DIRECTORIES(mysqlbinlog PRIVATE ${CMAKE_SOURCE_DIR}/sql)
@@ -50,7 +78,7 @@
  MYSQL_ADD_EXECUTABLE(mysqladmin
    mysqladmin.cc
    multi_factor_passwordopt-vars.cc
-@@ -291,6 +301,9 @@ MYSQL_ADD_EXECUTABLE(mysql_config_editor
+@@ -313,6 +339,9 @@ MYSQL_ADD_EXECUTABLE(mysql_config_editor
    mysql_config_editor.cc
    LINK_LIBRARIES mysqlclient
    )
@@ -60,7 +88,7 @@
  MYSQL_ADD_EXECUTABLE(mysql_secure_installation
    mysql_secure_installation.cc
    LINK_LIBRARIES mysqlclient
-@@ -301,6 +314,7 @@ MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup
+@@ -323,6 +352,7 @@ MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup
    path.cc
    LINK_LIBRARIES mysys
    )
diff --git a/databases/mysql80-server/files/patch-include_my__stacktrace.h b/databases/mysql80-server/files/patch-include_my__stacktrace.h
index 8ae534d73579..e9483748f817 100644
--- a/databases/mysql80-server/files/patch-include_my__stacktrace.h
+++ b/databases/mysql80-server/files/patch-include_my__stacktrace.h
@@ -1,10 +1,10 @@
---- include/my_stacktrace.h.orig	2024-07-12 19:15:25 UTC
+--- include/my_stacktrace.h.orig	2024-12-16 09:20:55 UTC
 +++ include/my_stacktrace.h
-@@ -44,7 +44,7 @@
-   HAVE_BACKTRACE - Linux, FreeBSD, OSX, Solaris
+@@ -45,7 +45,7 @@
    _WIN32 - Windows
+   HAVE_EXT_BACKTRACE - Unixes without backtrace(3)
  */
--#if defined(HAVE_BACKTRACE) || defined(_WIN32)
+-#if defined(HAVE_BACKTRACE) || defined(_WIN32) || defined(HAVE_EXT_BACKTRACE)
 +#if (defined(HAVE_BACKTRACE) || defined(_WIN32)) && (defined(__aarch64__) || defined(__amd64__) || defined(__i386__))
  #define HAVE_STACKTRACE 1
  void my_init_stacktrace();