Skip to content

Commit b2bc6c2

Browse files
committed
Merge branch '11.8' into 12.3
2 parents 91b30e2 + f21444c commit b2bc6c2

347 files changed

Lines changed: 8765 additions & 1902 deletions

File tree

Some content is hidden

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

‎.gitignore‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,8 @@ support-files/mariadb-extra.socket
271271
support-files/mariadb@.service
272272
support-files/mariadb@.socket
273273
support-files/mariadb-extra@.socket
274+
support-files/mariadb-plugin-config.cmake
275+
support-files/mariadb-plugin-defines.cmake
274276
support-files/mini-benchmark
275277
support-files/my-huge.cnf
276278
support-files/my-innodb-heavy-4G.cnf

‎CMakeLists.txt‎

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Copyright (c) 2006, 2017, Oracle and/or its affiliates.
2-
# Copyright (c) 2008, 2022, MariaDB Corporation.
2+
# Copyright (c) 2008, 2026, MariaDB Corporation.
33
#
44
# This program is free software; you can redistribute it and/or modify
55
# it under the terms of the GNU General Public License as published by
@@ -500,7 +500,18 @@ SET(PYTHON_SHEBANG "/usr/bin/env python3" CACHE STRING "python shebang")
500500
MARK_AS_ADVANCED(PYTHON_SHEBANG)
501501

502502
# Add storage engines and plugins.
503-
CONFIGURE_PLUGINS()
503+
IF(NOT WITHOUT_SERVER)
504+
FILE(GLOB dirs_storage ${CMAKE_SOURCE_DIR}/storage/*)
505+
ENDIF()
506+
507+
FILE(GLOB dirs_plugin ${CMAKE_SOURCE_DIR}/plugin/*)
508+
FOREACH(dir ${dirs_storage} ${dirs_plugin})
509+
IF (EXISTS ${dir}/CMakeLists.txt)
510+
ADD_SUBDIRECTORY(${dir})
511+
ENDIF()
512+
ENDFOREACH()
513+
514+
VERIFY_PLUGINS()
504515

505516
ADD_SUBDIRECTORY(include)
506517
ADD_SUBDIRECTORY(dbug)

‎appveyor.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ build_script:
5757
- set PATH=%OPENSSL_ROOT_DIR%;%PATH%
5858
- set GENERATOR=-GNinja
5959
- call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
60-
- cmake -E time cmake %GENERATOR% .. -DWITH_SSL=system -DHAVE_OPENSSL_APPLINK_C=1 -DOPENSSL_ROOT_DIR=%OPENSSL_ROOT_DIR% -DCMAKE_BUILD_TYPE=%BUILD_TYPE% -DMYSQL_MAINTAINER_MODE=ERR -DFAST_BUILD=1 -DBISON_EXECUTABLE=C:\cygwin64\bin\bison.exe -DPLUGIN_PERFSCHEMA=NO -DPLUGIN_FEEDBACK=NO
60+
- cmake -E time cmake %GENERATOR% .. -DWITH_SSL=system -DHAVE_OPENSSL_APPLINK_C=1 -DOPENSSL_ROOT_DIR=%OPENSSL_ROOT_DIR% -DCMAKE_BUILD_TYPE=%BUILD_TYPE% -DMYSQL_MAINTAINER_MODE=ERR -DFAST_BUILD=1 -DBISON_EXECUTABLE=C:\cygwin64\bin\bison.exe -DPLUGIN_PERFSCHEMA=NO -DPLUGIN_FEEDBACK=NO -DPLUGIN_ROCKSDB=NO
6161
- set /A jobs=2*%NUMBER_OF_PROCESSORS%
6262
- cmake -E time cmake --build . -j %jobs% --config %BUILD_TYPE% --target minbuild
6363

‎client/mysqladmin.cc‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,6 @@ static bool sql_log_bin_off= false;
5050
static uint opt_protocol=0;
5151
static myf error_flags; /* flags to pass to my_printf_error, like ME_BELL */
5252

53-
static my_bool ex_status_printed = 0; /* First output is not relative. */
54-
5553
#include <sslopt-vars.h>
5654

5755
static void print_version(void);
@@ -926,7 +924,6 @@ static int execute_commands(MYSQL *mysql,int argc, char **argv)
926924
(*func)(res, row, rownr++);
927925
print_top(res);
928926

929-
ex_status_printed = 1; /* From now on the output will be relative */
930927
mysql_free_result(res);
931928
break;
932929
}

‎client/mysqlbinlog.cc‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ static my_bool print_row_count_used= 0, print_row_event_positions_used= 0;
128128
static my_bool debug_info_flag, debug_check_flag;
129129
static my_bool force_if_open_opt= 1;
130130
static my_bool opt_raw_mode= 0, opt_stop_never= 0;
131-
my_bool opt_gtid_strict_mode= true;
131+
my_bool opt_gtid_strict_mode= false;
132132
static ulong opt_stop_never_slave_server_id= 0;
133133
static my_bool opt_verify_binlog_checksum= 1;
134134
static ulonglong offset = 0;
@@ -1752,7 +1752,7 @@ static struct my_option my_options[] =
17521752
"start < stop comparison condition. Sequence numbers of any gtid domain "
17531753
"must comprise monotically growing sequence",
17541754
&opt_gtid_strict_mode, &opt_gtid_strict_mode, 0,
1755-
GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
1755+
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
17561756
{"stop-datetime", OPT_STOP_DATETIME,
17571757
"Stop reading the binlog at first event having a datetime equal or "
17581758
"posterior to the argument; the argument must be a date and time "

‎cmake/generate_sbom.cmake‎

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,25 @@ FUNCTION (EXTRACT_REPO_NAME_AND_USER repo_url repo_name_var repo_user_var)
1818
SET(${repo_user_var} ${repo_user} PARENT_SCOPE)
1919
ENDFUNCTION()
2020

21+
# Extract a valid RFC 5322 email address out of CPACK_PACKAGE_CONTACT.
22+
# CPACK_PACKAGE_CONTACT is normally in the "Display Name <email@domain>" form,
23+
# but a bare "email@domain" is also accepted. FATAL_ERROR if no valid email
24+
# can be found, since the SBOM schema requires the author's email to be a
25+
# real address.
26+
FUNCTION(SBOM_GET_CONTACT_EMAIL varname)
27+
SET(email_regex "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]+$")
28+
STRING(REGEX MATCH "<([^>]+)>" bracketed "${CPACK_PACKAGE_CONTACT}")
29+
IF(bracketed)
30+
SET(email "${CMAKE_MATCH_1}")
31+
ELSE()
32+
SET(email "${CPACK_PACKAGE_CONTACT}")
33+
ENDIF()
34+
IF(NOT email MATCHES "${email_regex}")
35+
MESSAGE(FATAL_ERROR "CPACK_PACKAGE_CONTACT ('${CPACK_PACKAGE_CONTACT}') does not contain a valid email address")
36+
ENDIF()
37+
SET(${varname} "${email}" PARENT_SCOPE)
38+
ENDFUNCTION()
39+
2140
# Add a known 3rd party dependency for SBOM generation
2241
# Currently used for "vendored" (part of our repository) source code we know about
2342
# such as zlib, as well ExternalProject_Add() projects
@@ -303,7 +322,8 @@ FUNCTION(GENERATE_SBOM)
303322
STRING(APPEND reflist ",\n {\"ref\": \"${bom_ref}\"}")
304323
ENDFOREACH()
305324
STRING(APPEND sbom_dependencies "\n ]\n }${reflist}\n")
306-
STRING(UUID UUID NAMESPACE ee390ca3-e70f-4b35-808e-a512489156f5 NAME SBOM TYPE SHA1)
325+
STRING(RANDOM LENGTH 20 rnd)
326+
STRING(UUID UUID NAMESPACE ee390ca3-e70f-4b35-808e-a512489156f5 NAME SBOM-${rnd} TYPE SHA1)
307327
STRING(TIMESTAMP TIMESTAMP "%Y-%m-%dT%H:%M:%SZ" UTC)
308328
EXTRACT_REPO_NAME_AND_USER("${GIT_REMOTE_ORIGIN_URL}" GITHUB_REPO_NAME GITHUB_REPO_USER)
309329
#github-purl needs lowercased user and project names
@@ -313,5 +333,6 @@ FUNCTION(GENERATE_SBOM)
313333
SET(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
314334
ENDIF()
315335
STRING(TIMESTAMP CURRENT_YEAR "%Y")
336+
SBOM_GET_CONTACT_EMAIL(SBOM_AUTHOR_EMAIL)
316337
configure_file(${CMAKE_CURRENT_LIST_DIR}/cmake/sbom.json.in ${CMAKE_BINARY_DIR}/sbom.json)
317338
ENDFUNCTION()

‎cmake/install_macros.cmake‎

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -300,36 +300,3 @@ ENDFUNCTION()
300300
# For Makefile generators we default Debug build directory to ${buildroot}/../debug.
301301
GET_FILENAME_COMPONENT(BINARY_PARENTDIR ${CMAKE_BINARY_DIR} PATH)
302302
SET(DEBUGBUILDDIR "${BINARY_PARENTDIR}/debug" CACHE INTERNAL "Directory of debug build")
303-
304-
FUNCTION(INSTALL_MYSQL_TEST from to)
305-
IF(INSTALL_MYSQLTESTDIR)
306-
IF(NOT WITH_WSREP)
307-
SET(EXCL_GALERA "(suite/(galera|wsrep|sys_vars/[rt]/(sysvars_)?wsrep).*|std_data/(galera|wsrep).*)")
308-
ELSE()
309-
SET(EXCL_GALERA "^DOES_NOT_EXIST$")
310-
ENDIF()
311-
INSTALL(
312-
DIRECTORY ${from}
313-
DESTINATION "${INSTALL_MYSQLTESTDIR}/${to}"
314-
USE_SOURCE_PERMISSIONS
315-
COMPONENT Test
316-
PATTERN "var" EXCLUDE
317-
PATTERN "lib/My/SafeProcess" EXCLUDE
318-
PATTERN "lib/t*" EXCLUDE
319-
PATTERN "CPack" EXCLUDE
320-
PATTERN "CMake*" EXCLUDE
321-
PATTERN "cmake_install.cmake" EXCLUDE
322-
PATTERN "mtr.out*" EXCLUDE
323-
PATTERN ".cvsignore" EXCLUDE
324-
PATTERN "*.am" EXCLUDE
325-
PATTERN "*.in" EXCLUDE
326-
PATTERN "Makefile" EXCLUDE
327-
PATTERN "*.vcxproj" EXCLUDE
328-
PATTERN "*.vcxproj.filters" EXCLUDE
329-
PATTERN "*.vcxproj.user" EXCLUDE
330-
PATTERN "CTest*" EXCLUDE
331-
PATTERN "*~" EXCLUDE
332-
REGEX "${EXCL_GALERA}" EXCLUDE
333-
)
334-
ENDIF()
335-
ENDFUNCTION()

‎cmake/make_dist.cmake.in‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,13 @@ IF(NOT GIT_EXECUTABLE)
107107
)
108108
ENDIF()
109109

110+
# DuckDB uses these symbolic links only to test globbing behavior. They cause
111+
# source package extraction failures with tar on Windows.
112+
FILE(REMOVE
113+
"${PACKAGE_DIR}/storage/duckdb/third_parties/duckdb/data/csv/glob/crawl/.symbolic_link/link_to_file"
114+
"${PACKAGE_DIR}/storage/duckdb/third_parties/duckdb/data/csv/glob/crawl/.symbolic_link/mydir/link_to_upper_dir"
115+
)
116+
110117
# Copy bison output
111118
CONFIGURE_FILE(${CMAKE_BINARY_DIR}/sql/yy_mariadb.hh
112119
${PACKAGE_DIR}/sql/yy_mariadb.hh COPYONLY)

‎cmake/mysql_add_executable.cmake‎

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -98,14 +98,11 @@ FUNCTION (MYSQL_ADD_EXECUTABLE)
9898
IF(link)
9999
IF(UNIX)
100100
ADD_CUSTOM_COMMAND(TARGET ${target} POST_BUILD
101-
COMMAND ${CMAKE_COMMAND} -E create_symlink
102-
${target} ${link}
101+
COMMAND ${CMAKE_COMMAND} -E create_symlink ${target} ${link}
103102
COMMENT "Creating ${link} link"
104-
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR})
105-
INSTALL(PROGRAMS
106-
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${link}
107-
DESTINATION
108-
${ARG_DESTINATION}
103+
WORKING_DIRECTORY $<TARGET_FILE_DIR:${target}>/)
104+
INSTALL(PROGRAMS $<TARGET_FILE_DIR:${target}>/${link}
105+
DESTINATION ${ARG_DESTINATION}
109106
COMPONENT ${COMP}Symlinks)
110107
ELSE()
111108
# Windows note:

0 commit comments

Comments
 (0)