Skip to content

Commit 3044219

Browse files
committed
PS-9500: Code refresh for 8.0.41-32 (merge with conflicts)
2 parents 7635faf + 14ba939 commit 3044219

File tree

1,129 files changed

+89478
-154655
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,129 files changed

+89478
-154655
lines changed

CMakeLists.txt

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -55,26 +55,18 @@ IF(WIN32)
5555
ENDIF()
5656
ENDIF()
5757
ELSEIF(APPLE)
58-
# Version 3.12.4 is needed because the new build system of Xcode is not
59-
# supported by cmake. 3.12.4 will force using the legacy build system.
60-
# Version 3.9.2 is needed because INCLUDE_DIRECTORIES(SYSTEM ...) wasn't
61-
# handled properly by the cmake Xcode generator.
62-
# NOTE:
63-
# cmake >= 3.19 will use the new build system by default for Xcode >= 12.x
6458
IF(CMAKE_GENERATOR STREQUAL "Xcode")
6559
SET(APPLE_XCODE 1)
66-
CMAKE_MINIMUM_REQUIRED(VERSION 3.12.4)
67-
ELSE()
68-
CMAKE_MINIMUM_REQUIRED(VERSION 3.9.2)
6960
ENDIF()
70-
# If this is macOS 11, we need cmake 3.18
61+
# For macOS version >= 11 we need cmake 3.18
7162
# System libraries like
7263
# /usr/lib/libresolv.dylib
7364
# are no longer present in the file system.
7465
# cmake >= 3.18 will look for .tbd files in the SDK instead
7566
# So we end up linking with:
7667
# /Applications/Xcode.app/.../usr/lib/libresolv.tbd
77-
# We must postpone the version test until we have called 'uname -r' below.
68+
# cmake >= 3.19 will use the new build system by default for Xcode >= 12.x
69+
CMAKE_MINIMUM_REQUIRED(VERSION 3.19)
7870
ELSEIF(UNIX)
7971
# This is currently minimum version on all supported platforms.
8072
IF(CMAKE_VERSION VERSION_LESS 3.11.2)
@@ -515,20 +507,20 @@ IF(CMAKE_HOST_UNIX AND NOT FORCE_UNSUPPORTED_COMPILER
515507
ENDIF()
516508
ENDIF()
517509
ELSEIF(SOLARIS)
518-
MESSAGE(STATUS "Looking for GCC 10 on Solaris.")
510+
MESSAGE(STATUS "Looking for GCC 11 on Solaris.")
519511
FIND_PROGRAM(ALTERNATIVE_GCC gcc
520512
NO_DEFAULT_PATH
521-
PATHS "/usr/gcc/10/bin")
513+
PATHS "/usr/gcc/11/bin")
522514
FIND_PROGRAM(ALTERNATIVE_GPP g++
523515
NO_DEFAULT_PATH
524-
PATHS "/usr/gcc/10/bin")
516+
PATHS "/usr/gcc/11/bin")
525517
IF (ALTERNATIVE_GCC AND ALTERNATIVE_GPP)
526518
SET(CMAKE_C_COMPILER ${ALTERNATIVE_GCC})
527519
SET(CMAKE_CXX_COMPILER ${ALTERNATIVE_GPP})
528520
MESSAGE(STATUS "Using ${ALTERNATIVE_GCC}")
529521
MESSAGE(STATUS "Using ${ALTERNATIVE_GPP}")
530522
ELSE()
531-
MESSAGE(WARNING "Could not find /usr/gcc/10/bin/gcc")
523+
MESSAGE(WARNING "Could not find /usr/gcc/11/bin/gcc")
532524
ENDIF()
533525
ENDIF()
534526
ENDIF()
@@ -875,6 +867,7 @@ INCLUDE(zlib)
875867
INCLUDE(zstd)
876868
INCLUDE(lz4)
877869
INCLUDE(icu)
870+
INCLUDE(libbacktrace)
878871
INCLUDE(libevent)
879872
INCLUDE(ssl)
880873
INCLUDE(sasl)
@@ -1831,6 +1824,9 @@ IF(WITH_SYSTEM_LIBS)
18311824
UNSET(WITH_SYSTEM_LIBS CACHE)
18321825
ENDIF()
18331826

1827+
# See whether backtrace is supported.
1828+
MYSQL_CHECK_BACKTRACE()
1829+
18341830
# Add bundled or system zlib.
18351831
MYSQL_CHECK_ZLIB()
18361832

@@ -2278,6 +2274,7 @@ ADD_DEPENDENCIES(clang_tidy_prerequisites GenError)
22782274

22792275
ADD_SUBDIRECTORY(include)
22802276
ADD_SUBDIRECTORY(strings)
2277+
ADD_SUBDIRECTORY(extra/unordered_dense)
22812278
ADD_SUBDIRECTORY(vio)
22822279
ADD_SUBDIRECTORY(mysys)
22832280
ADD_SUBDIRECTORY(libmysql)

LICENSE

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
Licensing Information User Manual
22

3-
MySQL 8.0.40 Community
3+
MySQL 8.0.41 Community
44
__________________________________________________________________
55

66
Introduction
77

88
This License Information User Manual contains Oracle's product license
99
and other licensing information, including licensing information for
1010
third-party software which may be included in this distribution of
11-
MySQL 8.0.40 Community.
11+
MySQL 8.0.41 Community.
1212

13-
Last updated: September 2024
13+
Last updated: November 2024
1414

1515
Licensing Information
1616

17-
This release of MySQL 8.0.40 Community is brought to you by the MySQL
17+
This release of MySQL 8.0.41 Community is brought to you by the MySQL
1818
team at Oracle. This software is released under version 2 of the GNU
1919
General Public License (GPLv2), as set forth below, with the following
2020
additional permissions:
2121

22-
This distribution of MySQL 8.0.40 Community is designed to work with
22+
This distribution of MySQL 8.0.41 Community is designed to work with
2323
certain software (including but not limited to OpenSSL) that is
2424
licensed under separate terms, as designated in a particular file or
2525
component or in the license documentation. Without limiting your rights
@@ -1042,6 +1042,15 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
10421042

10431043
Google Protocol Buffers
10441044

1045+
You may be receiving a copy of abseil-cpp as part of this product in object code
1046+
form.
1047+
The terms of the Oracle license do NOT apply to abseil-cpp.
1048+
abseil-cpp is licensed under the Apache 2.0 license, separate from the Oracle pr
1049+
oduct.
1050+
If you do not wish to install this library, you may remove it, but the Oracle pr
1051+
ogram
1052+
might not operate properly or at all without it.
1053+
10451054
Copyright 2008 Google Inc. All rights reserved.
10461055

10471056
Redistribution and use in source and binary forms, with or without
@@ -1670,7 +1679,14 @@ SUCH DAMAGE.
16701679

16711680
Kerberos5
16721681

1673-
Kerberos5
1682+
You may be receiving a copy of the kerberos documentation as part of this
1683+
product. The terms of the Oracle license do NOT apply to Kerberos documentation.
1684+
1685+
Kerberos documentation is licensed under the CC-BY-SA 3.0 license, separate from
1686+
1687+
the Oracle product.
1688+
If you do not wish to install this library, you may remove it, but
1689+
the Oracle program might not operate properly or at all without it.
16741690

16751691
Copyright (C) 1985-2019 by the Massachusetts Institute of Technology.
16761692

MYSQL_VERSION

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
MYSQL_VERSION_MAJOR=8
22
MYSQL_VERSION_MINOR=0
3+
<<<<<<< HEAD
34
MYSQL_VERSION_PATCH=40
45
MYSQL_VERSION_EXTRA=-31
6+
||||||| 89e1c722476d
7+
MYSQL_VERSION_PATCH=40
8+
MYSQL_VERSION_EXTRA=
9+
=======
10+
MYSQL_VERSION_PATCH=41
11+
MYSQL_VERSION_EXTRA=
12+
>>>>>>> mysql-8.0.41
513
MYSQL_VERSION_STABILITY="LTS"

README.MySQL

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
1+
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
22

33
This is a release of MySQL, an SQL database server.
44

client/CMakeLists.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,19 @@ MYSQL_ADD_EXECUTABLE(mysqltest
7575
ENABLE_EXPORTS
7676
LINK_LIBRARIES perconaserverclient
7777
)
78+
<<<<<<< HEAD
7879
IF (WITH_COREDUMPER)
7980
TARGET_LINK_LIBRARIES(mysqltest coredumper)
8081
ENDIF()
8182

83+
||||||| 89e1c722476d
84+
=======
85+
86+
IF(MY_COMPILER_IS_GNU AND (WITH_LTO OR CMAKE_COMPILER_FLAG_WITH_LTO))
87+
TARGET_LINK_OPTIONS(mysqltest PRIVATE -Wno-error=stringop-overflow)
88+
ENDIF()
89+
90+
>>>>>>> mysql-8.0.41
8291
MYSQL_ADD_EXECUTABLE(mysqlcheck
8392
check/mysqlcheck.cc
8493
check/mysqlcheck_core.cc

cmake/component.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,10 @@ MACRO(MYSQL_ADD_COMPONENT component_arg)
9898
# For APPLE: adjust path dependecy for SSL shared libraries.
9999
SET_PATH_TO_CUSTOM_SSL_FOR_APPLE(${target})
100100

101+
IF(APPLE)
102+
TARGET_LINK_OPTIONS(${target} PRIVATE LINKER:-no_warn_duplicate_libraries)
103+
ENDIF()
104+
101105
IF(WIN32_CLANG AND WITH_ASAN)
102106
TARGET_LINK_LIBRARIES(${target}
103107
"${ASAN_LIB_DIR}/clang_rt.asan_dll_thunk-x86_64.lib")

cmake/curl.cmake

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ FUNCTION(FIND_SYSTEM_CURL ARG_CURL_INCLUDE_DIR)
128128
ENDIF()
129129
ENDFUNCTION(FIND_SYSTEM_CURL)
130130

131-
SET(CURL_VERSION_DIR "curl-8.9.1")
131+
SET(CURL_VERSION_DIR "curl-8.11.1")
132132
FUNCTION(MYSQL_USE_BUNDLED_CURL CURL_INCLUDE_DIR)
133133
SET(WITH_CURL "bundled" CACHE STRING "Bundled curl library")
134134
ADD_SUBDIRECTORY(extra/curl)
@@ -260,6 +260,10 @@ FUNCTION(MYSQL_CHECK_CURL)
260260
SET_TARGET_PROPERTIES(curl_interface PROPERTIES INTERFACE_COMPILE_OPTIONS
261261
"-Wno-error=deprecated-declarations")
262262
ENDIF()
263+
IF(WIN32_CLANG)
264+
SET_TARGET_PROPERTIES(curl_interface PROPERTIES INTERFACE_COMPILE_DEFINITIONS
265+
CURL_DISABLE_DEPRECATION)
266+
ENDIF()
263267

264268
ENDFUNCTION(MYSQL_CHECK_CURL)
265269

cmake/libbacktrace.cmake

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Copyright (c) 2024, Oracle and/or its affiliates.
2+
#
3+
# This program is free software; you can redistribute it and/or modify
4+
# it under the terms of the GNU General Public License, version 2.0,
5+
# as published by the Free Software Foundation.
6+
#
7+
# This program is also distributed with certain software (including
8+
# but not limited to OpenSSL) that is licensed under separate terms,
9+
# as designated in a particular file or component or in included license
10+
# documentation. The authors of MySQL hereby grant you an additional
11+
# permission to link the program and your derivative works with the
12+
# separately licensed software that they have included with MySQL.
13+
#
14+
# This program is distributed in the hope that it will be useful,
15+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
16+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17+
# GNU General Public License, version 2.0, for more details.
18+
#
19+
# You should have received a copy of the GNU General Public License
20+
# along with this program; if not, write to the Free Software
21+
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22+
23+
SET(VERIFIED_BACKTRACE_PLATFORMS
24+
FREEBSD
25+
LINUX
26+
SOLARIS
27+
)
28+
29+
UNSET(VERIFIED_BACKTRACE_PLATFORM)
30+
FOREACH(platform ${VERIFIED_BACKTRACE_PLATFORMS})
31+
IF(${platform})
32+
MESSAGE(STATUS "Found verified platform ${platform} for libbacktrace")
33+
SET(VERIFIED_BACKTRACE_PLATFORM ${platform})
34+
BREAK()
35+
ENDIF()
36+
ENDFOREACH()
37+
38+
IF(VERIFIED_BACKTRACE_PLATFORM AND NOT WITH_VALGRIND)
39+
SET(DEFAULT_WITH_EXT_BACKTRACE ON)
40+
ELSE()
41+
SET(DEFAULT_WITH_EXT_BACKTRACE OFF)
42+
ENDIF()
43+
OPTION(WITH_EXT_BACKTRACE "Use libbacktrace to print stacktraces"
44+
${DEFAULT_WITH_EXT_BACKTRACE}
45+
)
46+
47+
FUNCTION(MYSQL_CHECK_BACKTRACE)
48+
IF(NOT WITH_EXT_BACKTRACE)
49+
RETURN()
50+
ENDIF()
51+
52+
IF(NOT LINUX AND NOT SOLARIS AND NOT FREEBSD)
53+
MESSAGE(FATAL_ERROR
54+
"libbacktrace can only be used on linux/solaris/freebsd builds")
55+
ENDIF()
56+
57+
IF(VERIFIED_BACKTRACE_PLATFORM)
58+
MESSAGE(STATUS "Using libbacktrace on ${VERIFIED_BACKTRACE_PLATFORM}")
59+
ELSE()
60+
MESSAGE(WARNING "Using libbacktrace on unverified platform")
61+
ENDIF()
62+
63+
ADD_SUBDIRECTORY(extra/libbacktrace)
64+
ADD_LIBRARY(ext::backtrace ALIAS backtrace)
65+
ENDFUNCTION(MYSQL_CHECK_BACKTRACE)

cmake/libutils.cmake

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,7 @@ MACRO(MERGE_LIBRARIES_SHARED TARGET_ARG)
358358

359359
IF(APPLE)
360360
SET_TARGET_PROPERTIES(${TARGET} PROPERTIES MACOSX_RPATH ON)
361+
TARGET_LINK_OPTIONS(${TARGET} PRIVATE LINKER:-no_warn_duplicate_libraries)
361362
ENDIF()
362363

363364
MY_TARGET_LINK_OPTIONS(${TARGET} "${export_link_flags}")
@@ -692,6 +693,10 @@ FUNCTION(ADD_SHARED_LIBRARY TARGET_ARG)
692693
ENDIF()
693694
ENDIF()
694695

696+
IF(APPLE)
697+
TARGET_LINK_OPTIONS(${TARGET} PRIVATE LINKER:-no_warn_duplicate_libraries)
698+
ENDIF()
699+
695700
ADD_OBJDUMP_TARGET(show_${TARGET} "$<TARGET_FILE:${TARGET}>"
696701
DEPENDS ${TARGET})
697702

cmake/mysql_add_executable.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,10 @@ FUNCTION(MYSQL_ADD_EXECUTABLE target_arg)
192192
MACOS_ADD_DEVELOPER_ENTITLEMENTS(${target})
193193
ENDIF()
194194

195+
IF(APPLE)
196+
TARGET_LINK_OPTIONS(${target} PRIVATE LINKER:-no_warn_duplicate_libraries)
197+
ENDIF()
198+
195199
IF(WIN32_CLANG AND WITH_ASAN)
196200
TARGET_LINK_LIBRARIES(${target} "${ASAN_LIB_DIR}/clang_rt.asan-x86_64.lib")
197201
TARGET_LINK_LIBRARIES(${target} "${ASAN_LIB_DIR}/clang_rt.asan_cxx-x86_64.lib")

cmake/os/SunOS.cmake

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,9 @@ IF(NOT FORCE_UNSUPPORTED_COMPILER)
5454
MESSAGE(WARNING "Clang is experimental!!")
5555
ELSEIF(MY_COMPILER_IS_GNU)
5656
# 9.2.0 generated code which dumped core in optimized mode.
57-
IF(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10.2)
58-
MESSAGE(FATAL_ERROR "GCC 10.2 or newer is required")
57+
# gcc 10.2 is EOL.
58+
IF(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11.4)
59+
MESSAGE(FATAL_ERROR "GCC 11.4 or newer is required")
5960
ENDIF()
6061
ELSE()
6162
MESSAGE(FATAL_ERROR "Unsupported compiler!")

cmake/plugin.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,10 @@ MACRO(MYSQL_ADD_PLUGIN plugin_arg)
327327
DEPENDS ${target})
328328
ENDIF()
329329

330+
IF(BUILD_PLUGIN AND ARG_MODULE_ONLY AND APPLE)
331+
TARGET_LINK_OPTIONS(${target} PRIVATE LINKER:-no_warn_duplicate_libraries)
332+
ENDIF()
333+
330334
IF(BUILD_PLUGIN)
331335
ADD_DEPENDENCIES(plugin_all ${target})
332336
TARGET_COMPILE_FEATURES(${target} PUBLIC cxx_std_17)

cmake/rapidjson.cmake

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,8 @@ MACRO (MYSQL_CHECK_RAPIDJSON)
125125
TARGET_COMPILE_DEFINITIONS(rapidjson INTERFACE
126126
RAPIDJSON_NO_SIZETYPEDEFINE
127127
RAPIDJSON_SCHEMA_USE_INTERNALREGEX=0
128-
RAPIDJSON_SCHEMA_USE_STDREGEX=1)
128+
RAPIDJSON_SCHEMA_USE_STDREGEX=1
129+
RAPIDJSON_HAS_STDSTRING=1)
129130

130131
IF(WITH_RAPIDJSON STREQUAL "bundled")
131132
TARGET_INCLUDE_DIRECTORIES(rapidjson SYSTEM BEFORE INTERFACE

cmake/readline.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ MACRO (FIND_CURSES)
114114
ENDIF()
115115
ENDMACRO()
116116

117-
SET(CURRENT_LIBEDIT_DIRECTORY "extra/libedit/libedit-20221030-3.1")
117+
SET(CURRENT_LIBEDIT_DIRECTORY "extra/libedit/libedit-20240808-3.1")
118118

119119
MACRO (MYSQL_USE_BUNDLED_EDITLINE)
120120
SET(WITH_EDITLINE "bundled" CACHE STRING "By default use bundled editline")

cmake/rpc.cmake

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,13 @@ FUNCTION(MYSQL_CHECK_RPC)
8585
IF(TIRPC_FOUND AND NOT WITH_TIRPC STREQUAL "bundled")
8686
SET(WITH_TIRPC "system" CACHE INTERNAL "")
8787
ADD_LIBRARY(ext::rpc SHARED IMPORTED GLOBAL)
88+
IF(DEFINED pkgcfg_lib_TIRPC_tirpc)
89+
SET(tirpc_imported_location ${pkgcfg_lib_TIRPC_tirpc})
90+
ELSE()
91+
SET(tirpc_imported_location ${TIRPC_LDFLAGS})
92+
ENDIF()
8893
SET_TARGET_PROPERTIES(ext::rpc PROPERTIES
89-
IMPORTED_LOCATION ${pkgcfg_lib_TIRPC_tirpc}
94+
IMPORTED_LOCATION ${tirpc_imported_location}
9095
INTERFACE_COMPILE_DEFINITIONS HAVE_SYSTEM_TIRPC
9196
)
9297
TARGET_INCLUDE_DIRECTORIES(ext::rpc

components/keyrings/common/config/config_reader.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@
2626

2727
#include <string>
2828

29-
#define RAPIDJSON_HAS_STDSTRING 1
30-
3129
#include "my_rapidjson_size_t.h"
3230

3331
#include <rapidjson/document.h>

components/keyrings/common/json_data/json_reader.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@
2828
#include <string>
2929
#include <vector>
3030

31-
#define RAPIDJSON_HAS_STDSTRING 1
32-
3331
#include "my_rapidjson_size_t.h"
3432

3533
#include <rapidjson/document.h>

components/keyrings/common/json_data/json_writer.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@
2626

2727
#include <string>
2828

29-
#define RAPIDJSON_HAS_STDSTRING 1
30-
3129
#include "my_rapidjson_size_t.h"
3230

3331
#include <rapidjson/document.h>

0 commit comments

Comments
 (0)