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
This commit is contained in:
Christos Chatzaras 2025-03-19 10:56:43 +01:00 committed by Jochen Neumeister
parent 1c815d1d59
commit 92fc4ba36c
5 changed files with 44 additions and 16 deletions

View file

@ -1,5 +1,5 @@
PORTNAME= mysql PORTNAME= mysql
PORTREVISION= 1 PORTREVISION= 0
PKGNAMESUFFIX= 80-client PKGNAMESUFFIX= 80-client
COMMENT= Multithreaded SQL database (client) COMMENT= Multithreaded SQL database (client)

View file

@ -1,6 +1,6 @@
PORTNAME?= mysql PORTNAME?= mysql
PORTVERSION= 8.0.39 PORTVERSION= 8.0.41
PORTREVISION?= 2 PORTREVISION?= 0
CATEGORIES= databases CATEGORIES= databases
MASTER_SITES= MYSQL/MySQL-8.0 MASTER_SITES= MYSQL/MySQL-8.0
PKGNAMESUFFIX?= 80-server PKGNAMESUFFIX?= 80-server

View file

@ -1,3 +1,3 @@
TIMESTAMP = 1721978886 TIMESTAMP = 1740937221
SHA256 (mysql-boost-8.0.39.tar.gz) = 93208da9814116d81a384eae42120fd6c2ed507f1696064c510bc36047050241 SHA256 (mysql-boost-8.0.41.tar.gz) = 719589993b1a6769edb82b59f28e0dab8d47df94fa53ac4e9340b7c5eaba937c
SIZE (mysql-boost-8.0.39.tar.gz) = 449265424 SIZE (mysql-boost-8.0.41.tar.gz) = 488749630

View file

@ -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 +++ client/CMakeLists.txt
@@ -29,10 +29,13 @@ ADD_SUBDIRECTORY(base) @@ -29,10 +29,13 @@ ADD_SUBDIRECTORY(base)
## Subdirectory with common client code. ## Subdirectory with common client code.
@ -30,17 +30,45 @@
MYSQL_ADD_EXECUTABLE(mysqltest MYSQL_ADD_EXECUTABLE(mysqltest
mysqltest.cc mysqltest.cc
mysqltest/error_names.cc mysqltest/error_names.cc
@@ -72,6 +77,9 @@ MYSQL_ADD_EXECUTABLE(mysqltest @@ -72,11 +77,13 @@ MYSQL_ADD_EXECUTABLE(mysqltest
ENABLE_EXPORTS ENABLE_EXPORTS
LINK_LIBRARIES mysqlclient LINK_LIBRARIES mysqlclient
) )
+ENDIF() +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) +IF(WITHOUT_SERVER)
MYSQL_ADD_EXECUTABLE(mysqlcheck MYSQL_ADD_EXECUTABLE(mysqlcheck
check/mysqlcheck.cc check/mysqlcheck.cc
check/mysqlcheck_core.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_COMPILE_DEFINITIONS(mysqlbinlog PRIVATE DISABLE_PSI_MUTEX)
TARGET_INCLUDE_DIRECTORIES(mysqlbinlog PRIVATE ${CMAKE_SOURCE_DIR}/sql) TARGET_INCLUDE_DIRECTORIES(mysqlbinlog PRIVATE ${CMAKE_SOURCE_DIR}/sql)
@ -50,7 +78,7 @@
MYSQL_ADD_EXECUTABLE(mysqladmin MYSQL_ADD_EXECUTABLE(mysqladmin
mysqladmin.cc mysqladmin.cc
multi_factor_passwordopt-vars.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 mysql_config_editor.cc
LINK_LIBRARIES mysqlclient LINK_LIBRARIES mysqlclient
) )
@ -60,7 +88,7 @@
MYSQL_ADD_EXECUTABLE(mysql_secure_installation MYSQL_ADD_EXECUTABLE(mysql_secure_installation
mysql_secure_installation.cc mysql_secure_installation.cc
LINK_LIBRARIES mysqlclient 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 path.cc
LINK_LIBRARIES mysys LINK_LIBRARIES mysys
) )

View file

@ -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 +++ include/my_stacktrace.h
@@ -44,7 +44,7 @@ @@ -45,7 +45,7 @@
HAVE_BACKTRACE - Linux, FreeBSD, OSX, Solaris
_WIN32 - Windows _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__)) +#if (defined(HAVE_BACKTRACE) || defined(_WIN32)) && (defined(__aarch64__) || defined(__amd64__) || defined(__i386__))
#define HAVE_STACKTRACE 1 #define HAVE_STACKTRACE 1
void my_init_stacktrace(); void my_init_stacktrace();