From 9a685ea91e866887b57479b0c319bfc8843d0f72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Magnus=20Bl=C3=A5udd?= Date: Wed, 20 Oct 2010 15:54:58 +0200 Subject: [PATCH 1/8] Bug#57604 Reserve bit in option_bits for slave_allow_batching feature - Add define to reserve bit number 36 for slave_allow_batching feature --- sql/sql_priv.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sql/sql_priv.h b/sql/sql_priv.h index f0f6a1969f5..4e1dac269b7 100644 --- a/sql/sql_priv.h +++ b/sql/sql_priv.h @@ -144,6 +144,12 @@ */ #define OPTION_MASTER_SQL_ERROR (1ULL << 35) +/* + Dont report errors for individual rows, + But just report error on commit (or read ofcourse) + Note! Reserved for use in MySQL Cluster +*/ +#define OPTION_ALLOW_BATCH (ULL(1) << 36) // THD, intern (slave) /* The rest of the file is included in the server only */ #ifndef MYSQL_CLIENT From 31e30ee326f07c62895f63ea292859b1d95d32e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Magnus=20Bl=C3=A5udd?= Date: Tue, 16 Nov 2010 10:05:54 +0100 Subject: [PATCH 2/8] Bug#58158 LINK_LIBRARIES for MYSQL_ADD_PLUGIN is not added to libmysqld - Add ARG_LINK_LIBRARIES to MYSQLD_STATIC_PLUGIN_LIBS in MYSQL_ADD_PLUGIN so that any libraries listed by the plugin is added to libmysqld - remove the variables NDB_CLIENT_LIBS and NDB_CLUSTER_INCLUDES from libmysqld/CMakeLists.txt since those are just old remnants --- cmake/plugin.cmake | 2 +- libmysqld/CMakeLists.txt | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/cmake/plugin.cmake b/cmake/plugin.cmake index 94fdc8bf1e9..6ff7e794440 100644 --- a/cmake/plugin.cmake +++ b/cmake/plugin.cmake @@ -123,7 +123,7 @@ MACRO(MYSQL_ADD_PLUGIN) # Update mysqld dependencies SET (MYSQLD_STATIC_PLUGIN_LIBS ${MYSQLD_STATIC_PLUGIN_LIBS} - ${target} CACHE INTERNAL "" FORCE) + ${target} ${ARG_LINK_LIBRARIES} CACHE INTERNAL "" FORCE) IF(ARG_MANDATORY) SET(${with_var} ON CACHE INTERNAL "Link ${plugin} statically to the server" diff --git a/libmysqld/CMakeLists.txt b/libmysqld/CMakeLists.txt index 545d03532c1..25f4b752a30 100644 --- a/libmysqld/CMakeLists.txt +++ b/libmysqld/CMakeLists.txt @@ -26,7 +26,6 @@ ${CMAKE_SOURCE_DIR}/regex ${ZLIB_INCLUDE_DIR} ${SSL_INCLUDE_DIRS} ${SSL_INTERNAL_INCLUDE_DIRS} -${NDB_CLUSTER_INCLUDES} ${CMAKE_SOURCE_DIR}/sql/backup ) @@ -110,7 +109,7 @@ SET(LIBS dbug strings regex mysys vio ${ZLIB_LIBRARY} ${SSL_LIBRARIES} ${LIBWRAP} ${LIBCRYPT} ${LIBDL} - ${MYSQLD_STATIC_PLUGIN_LIBS} ${NDB_CLIENT_LIBS} + ${MYSQLD_STATIC_PLUGIN_LIBS} sql_embedded ) From 85f855e0ed38b73839943a83b2cccb1c46ba6fd9 Mon Sep 17 00:00:00 2001 From: Alexander Nozdrin Date: Wed, 24 Nov 2010 12:53:39 +0300 Subject: [PATCH 3/8] A follow-up for Bug#58340 (Remove Server GPL EXCEPTIONS-CLIENT file) -- remove all EXCEPTIONS-CLIENT from all the places. --- Makefile.am | 2 +- libmysql/Makefile.am | 3 +-- libmysql/Makefile.shared | 3 +-- libmysql/conf_to_src.c | 3 +-- libmysql/dll.c | 3 +-- libmysql/errmsg.c | 3 +-- libmysql/get_password.c | 3 +-- libmysql/libmysql.c | 3 +-- libmysql/manager.c | 3 +-- libmysql_r/Makefile.am | 3 +-- scripts/make_binary_distribution.sh | 2 +- scripts/make_win_bin_dist | 4 ++-- scripts/make_win_src_distribution_old.sh | 4 ++-- support-files/mysql.spec.sh | 5 ++++- 14 files changed, 19 insertions(+), 25 deletions(-) diff --git a/Makefile.am b/Makefile.am index 671bb3b9871..1f171bc9c7c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -19,7 +19,7 @@ AUTOMAKE_OPTIONS = foreign # These are built from source in the Docs directory EXTRA_DIST = INSTALL-SOURCE INSTALL-WIN-SOURCE \ - README COPYING EXCEPTIONS-CLIENT CMakeLists.txt + README COPYING CMakeLists.txt SUBDIRS = . include @docs_dirs@ @zlib_dir@ @yassl_dir@ \ @readline_topdir@ sql-common scripts \ diff --git a/libmysql/Makefile.am b/libmysql/Makefile.am index 13497331683..bab3368fbbf 100644 --- a/libmysql/Makefile.am +++ b/libmysql/Makefile.am @@ -5,8 +5,7 @@ # published by the Free Software Foundation. # # There are special exceptions to the terms and conditions of the GPL as it -# is applied to this software. View the full text of the exception in file -# EXCEPTIONS-CLIENT in the directory of this software distribution. +# is applied to this software. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/libmysql/Makefile.shared b/libmysql/Makefile.shared index b7942d20cea..83ae79ebee2 100644 --- a/libmysql/Makefile.shared +++ b/libmysql/Makefile.shared @@ -5,8 +5,7 @@ # published by the Free Software Foundation. # # There are special exceptions to the terms and conditions of the GPL as it -# is applied to this software. View the full text of the exception in file -# EXCEPTIONS-CLIENT in the directory of this software distribution. +# is applied to this software. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/libmysql/conf_to_src.c b/libmysql/conf_to_src.c index 785e3cad4c1..f39a2e1856f 100644 --- a/libmysql/conf_to_src.c +++ b/libmysql/conf_to_src.c @@ -5,8 +5,7 @@ the Free Software Foundation. There are special exceptions to the terms and conditions of the GPL as it - is applied to this software. View the full text of the exception in file - EXCEPTIONS-CLIENT in the directory of this software distribution. + is applied to this software. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/libmysql/dll.c b/libmysql/dll.c index 7bea5f880c5..a6a6a155dd3 100644 --- a/libmysql/dll.c +++ b/libmysql/dll.c @@ -5,8 +5,7 @@ the Free Software Foundation. There are special exceptions to the terms and conditions of the GPL as it - is applied to this software. View the full text of the exception in file - EXCEPTIONS-CLIENT in the directory of this software distribution. + is applied to this software. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/libmysql/errmsg.c b/libmysql/errmsg.c index 59089d5ec18..b509c53bc1b 100644 --- a/libmysql/errmsg.c +++ b/libmysql/errmsg.c @@ -5,8 +5,7 @@ the Free Software Foundation. There are special exceptions to the terms and conditions of the GPL as it - is applied to this software. View the full text of the exception in file - EXCEPTIONS-CLIENT in the directory of this software distribution. + is applied to this software. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/libmysql/get_password.c b/libmysql/get_password.c index e55e77320f0..80b3c23c2f8 100644 --- a/libmysql/get_password.c +++ b/libmysql/get_password.c @@ -5,8 +5,7 @@ the Free Software Foundation. There are special exceptions to the terms and conditions of the GPL as it - is applied to this software. View the full text of the exception in file - EXCEPTIONS-CLIENT in the directory of this software distribution. + is applied to this software. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c index 62feae1b56e..7999041378a 100644 --- a/libmysql/libmysql.c +++ b/libmysql/libmysql.c @@ -5,8 +5,7 @@ the Free Software Foundation. There are special exceptions to the terms and conditions of the GPL as it - is applied to this software. View the full text of the exception in file - EXCEPTIONS-CLIENT in the directory of this software distribution. + is applied to this software. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/libmysql/manager.c b/libmysql/manager.c index 3260ddcd685..f7ea7bb275b 100644 --- a/libmysql/manager.c +++ b/libmysql/manager.c @@ -5,8 +5,7 @@ the Free Software Foundation. There are special exceptions to the terms and conditions of the GPL as it - is applied to this software. View the full text of the exception in file - EXCEPTIONS-CLIENT in the directory of this software distribution. + is applied to this software. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/libmysql_r/Makefile.am b/libmysql_r/Makefile.am index a8014b37bed..1fd0eff248a 100644 --- a/libmysql_r/Makefile.am +++ b/libmysql_r/Makefile.am @@ -5,8 +5,7 @@ # published by the Free Software Foundation. # # There are special exceptions to the terms and conditions of the GPL as it -# is applied to this software. View the full text of the exception in file -# EXCEPTIONS-CLIENT in the directory of this software distribution. +# is applied to this software. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/scripts/make_binary_distribution.sh b/scripts/make_binary_distribution.sh index a089e8ef55d..93a78037843 100644 --- a/scripts/make_binary_distribution.sh +++ b/scripts/make_binary_distribution.sh @@ -211,7 +211,7 @@ copyfileto() copyfileto $BASE/docs ChangeLog Docs/mysql.info copyfileto $BASE COPYING COPYING.LIB README Docs/INSTALL-BINARY \ - EXCEPTIONS-CLIENT LICENSE.mysql + LICENSE.mysql # Non platform-specific bin dir files: BIN_FILES="extra/comp_err$BS extra/replace$BS extra/perror$BS \ diff --git a/scripts/make_win_bin_dist b/scripts/make_win_bin_dist index 9e3fc010885..34134ccd977 100755 --- a/scripts/make_win_bin_dist +++ b/scripts/make_win_bin_dist @@ -200,8 +200,8 @@ cp ChangeLog $DESTDIR/Docs/ || /bin/true cp support-files/my-*.ini $DESTDIR/ if [ -f COPYING ] ; then - cp COPYING EXCEPTIONS-CLIENT $DESTDIR/ - cp COPYING $DESTDIR/Docs/ + cp COPYING $DESTDIR/ + cp COPYING $DESTDIR/Docs/ fi # ---------------------------------------------------------------------- diff --git a/scripts/make_win_src_distribution_old.sh b/scripts/make_win_src_distribution_old.sh index dfb43585a21..f319bad6d55 100644 --- a/scripts/make_win_src_distribution_old.sh +++ b/scripts/make_win_src_distribution_old.sh @@ -312,7 +312,7 @@ touch $BASE/innobase/ib_config.h # cd $SOURCE -for i in COPYING ChangeLog README EXCEPTIONS-CLIENT\ +for i in COPYING ChangeLog README \ INSTALL-SOURCE INSTALL-WIN \ INSTALL-WIN-SOURCE \ Docs/INSTALL-BINARY Docs/manual.chm @@ -376,7 +376,7 @@ fi # Search the tree for plain text files and adapt the line end marker # find $BASE \( -name "*.cnf" -o -name "*.ini" \ - -o -name COPYING -o -name ChangeLog -o -name EXCEPTIONS-CLIENT \ + -o -name COPYING -o -name ChangeLog \ -o -name "INSTALL*" -o -name LICENSE -o -name "README*" \ -o -name "*.dsp" -o -name "*.dsw" \ -o -name "*.vcproj" -o -name "*.sln" \) -type f -print \ diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh index 6baa19dc934..6bf5fca60ab 100644 --- a/support-files/mysql.spec.sh +++ b/support-files/mysql.spec.sh @@ -837,7 +837,6 @@ fi %files devel %defattr(-, root, root, 0755) -%doc EXCEPTIONS-CLIENT %doc %attr(644, root, man) %{_mandir}/man1/comp_err.1* %doc %attr(644, root, man) %{_mandir}/man1/mysql_config.1* %attr(755, root, root) %{_bindir}/comp_err @@ -892,6 +891,10 @@ fi # itself - note that they must be ordered by date (important when # merging BK trees) %changelog +* Wed Nov 24 2010 Alexander Nozdrin + +- EXCEPTIONS-CLIENT has been deleted, remove it from here too. + * Mon Feb 01 2010 Joerg Bruehe - Formatting changes: From 41cab3211134e7d9ee46f261695f727089884f98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Magnus=20Bl=C3=A5udd?= Date: Wed, 24 Nov 2010 11:37:59 +0100 Subject: [PATCH 4/8] WL#5665: Removal of the autotools-based build system - Make the cmake files depend on VERSION, causing cmake rerun when VERSION changes --- cmake/mysql_version.cmake | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/cmake/mysql_version.cmake b/cmake/mysql_version.cmake index b4be85ff657..3ed93020e8a 100644 --- a/cmake/mysql_version.cmake +++ b/cmake/mysql_version.cmake @@ -21,17 +21,21 @@ SET(SHARED_LIB_MAJOR_VERSION "16") SET(PROTOCOL_VERSION "10") SET(DOT_FRM_VERSION "6") +# Generate "something" to trigger cmake rerun when VERSION changes +CONFIGURE_FILE( + ${CMAKE_SOURCE_DIR}/VERSION + ${CMAKE_BINARY_DIR}/VERSION.dep +) + # Read value for a variable from VERSION. MACRO(MYSQL_GET_CONFIG_VALUE keyword var) IF(NOT ${var}) - IF (EXISTS ${CMAKE_SOURCE_DIR}/VERSION) - FILE (STRINGS ${CMAKE_SOURCE_DIR}/VERSION str REGEX "^[ ]*${keyword}=") - IF(str) - STRING(REPLACE "${keyword}=" "" str ${str}) - STRING(REGEX REPLACE "[ ].*" "" str "${str}") - SET(${var} ${str}) - ENDIF() + FILE (STRINGS ${CMAKE_SOURCE_DIR}/VERSION str REGEX "^[ ]*${keyword}=") + IF(str) + STRING(REPLACE "${keyword}=" "" str ${str}) + STRING(REGEX REPLACE "[ ].*" "" str "${str}") + SET(${var} ${str}) ENDIF() ENDIF() ENDMACRO() From 20f94499fa5b665cca4024ddd649d01fedea798d Mon Sep 17 00:00:00 2001 From: Tor Didriksen Date: Tue, 23 Nov 2010 10:26:26 +0100 Subject: [PATCH 5/8] Bug #58372 cmake should not write temporary files in the source directory cmake/do_abi_check.cmake: Put temporary files in ${BINARY_DIR} rather than in source directory. Slight reformatting for readability of commands. --- cmake/do_abi_check.cmake | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/cmake/do_abi_check.cmake b/cmake/do_abi_check.cmake index 78006bd018c..96943e1a4c4 100644 --- a/cmake/do_abi_check.cmake +++ b/cmake/do_abi_check.cmake @@ -53,23 +53,27 @@ SET(abi_check_out ${BINARY_DIR}/abi_check.out) FOREACH(file ${ABI_HEADERS}) - SET(tmpfile ${file}.pp.tmp) - EXECUTE_PROCESS( - COMMAND ${COMPILER} - -E -nostdinc -dI -DMYSQL_ABI_CHECK -I${SOURCE_DIR}/include - -I${BINARY_DIR}/include -I${SOURCE_DIR}/include/mysql -I${SOURCE_DIR}/sql - ${file} - ERROR_QUIET OUTPUT_FILE ${tmpfile}) - EXECUTE_PROCESS( - COMMAND sed -e - "/^# /d" -e "/^[ ]*$/d" -e "/^#pragma GCC set_debug_pwd/d" -e "/^#ident/d" - RESULT_VARIABLE result OUTPUT_FILE ${abi_check_out} INPUT_FILE ${tmpfile}) + GET_FILENAME_COMPONENT(header_basename ${file} NAME) + SET(tmpfile ${BINARY_DIR}/${header_basename}.pp.tmp) + + EXECUTE_PROCESS( + COMMAND ${COMPILER} + -E -nostdinc -dI -DMYSQL_ABI_CHECK -I${SOURCE_DIR}/include + -I${BINARY_DIR}/include -I${SOURCE_DIR}/include/mysql -I${SOURCE_DIR}/sql + ${file} + ERROR_QUIET OUTPUT_FILE ${tmpfile}) + EXECUTE_PROCESS( + COMMAND sed -e "/^# /d" + -e "/^[ ]*$/d" + -e "/^#pragma GCC set_debug_pwd/d" + -e "/^#ident/d" + RESULT_VARIABLE result OUTPUT_FILE ${abi_check_out} INPUT_FILE ${tmpfile}) IF(NOT ${result} EQUAL 0) MESSAGE(FATAL_ERROR "sed returned error ${result}") ENDIF() FILE(REMOVE ${tmpfile}) - EXECUTE_PROCESS(COMMAND diff -w ${file}.pp ${abi_check_out} RESULT_VARIABLE - result) + EXECUTE_PROCESS( + COMMAND diff -w ${file}.pp ${abi_check_out} RESULT_VARIABLE result) IF(NOT ${result} EQUAL 0) MESSAGE(FATAL_ERROR "ABI check found difference between ${file}.pp and ${abi_check_out}") From 91ad155c7e7383c2d38bdbda4659a365ce268606 Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Wed, 24 Nov 2010 21:23:41 +0100 Subject: [PATCH 6/8] Bug #58411 :wixca project fails to build when using Express Edition of VS: The problem was MFC header file includes into the resource definition file (CustomAction.rc) afxres.h is not available with VS Express. The fix is to remove resource file from compilation and souce code repository. version of custom action dll is of no interest for anyone, it is internal dll kept inside the MSI. --- packaging/WiX/ca/CMakeLists.txt | 2 +- packaging/WiX/ca/CustomAction.rc | 18 ------------------ 2 files changed, 1 insertion(+), 19 deletions(-) delete mode 100644 packaging/WiX/ca/CustomAction.rc diff --git a/packaging/WiX/ca/CMakeLists.txt b/packaging/WiX/ca/CMakeLists.txt index c74b51284c7..a03ceb9a5d2 100644 --- a/packaging/WiX/ca/CMakeLists.txt +++ b/packaging/WiX/ca/CMakeLists.txt @@ -16,7 +16,7 @@ INCLUDE_DIRECTORIES(${WIX_DIR}/../SDK/inc) LINK_DIRECTORIES(${WIX_DIR}/../SDK/lib) -SET(WIXCA_SOURCES CustomAction.cpp CustomAction.rc CustomAction.def) +SET(WIXCA_SOURCES CustomAction.cpp CustomAction.def) IF(CMAKE_SIZEOF_VOID_P EQUAL 8) LINK_LIBRARIES(wcautil_x64 dutil_x64 msi version) diff --git a/packaging/WiX/ca/CustomAction.rc b/packaging/WiX/ca/CustomAction.rc deleted file mode 100644 index 3f37126ee77..00000000000 --- a/packaging/WiX/ca/CustomAction.rc +++ /dev/null @@ -1,18 +0,0 @@ -#include "afxres.h" -#undef APSTUDIO_READONLY_SYMBOLS - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 - FILEFLAGSMASK 0x17L -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x4L - FILETYPE 0x0L - FILESUBTYPE 0x0L -BEGIN -END - From 3e11fe230ef2bb3bcee280b76c1f4d5e8d2e4f38 Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Wed, 24 Nov 2010 21:30:27 +0100 Subject: [PATCH 7/8] MSI: Only call custom action if REMOVE=ALL is specified, this avoids accidential removing services if feature states are modified (reported by Iggy) --- packaging/WiX/mysql_server.wxs.in | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packaging/WiX/mysql_server.wxs.in b/packaging/WiX/mysql_server.wxs.in index ea2ee1d9aaf..43a30538384 100644 --- a/packaging/WiX/mysql_server.wxs.in +++ b/packaging/WiX/mysql_server.wxs.in @@ -128,10 +128,10 @@ Impersonate="no" Return="check" /> - Installed And Not UPGRADINGPRODUCTCODE - Installed And Not UPGRADINGPRODUCTCODE - Installed And Not UPGRADINGPRODUCTCODE And UILevel>4 - Installed And Not UPGRADINGPRODUCTCODE And UILevel<=4 + Installed And Not UPGRADINGPRODUCTCODE And REMOVE="ALL" + Installed And Not UPGRADINGPRODUCTCODE And REMOVE="ALL" + Installed And Not UPGRADINGPRODUCTCODE And REMOVE="ALL" And UILevel>4 + Installed And Not UPGRADINGPRODUCTCODE And REMOVE="ALL" And UILevel<=4 From 199cb4b7b1d34ab952a5bc669fcda7c4810a73eb Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Thu, 25 Nov 2010 00:20:36 +0000 Subject: [PATCH 8/8] Post-fix for Bug#58158 on Solaris Problem : The build might fail with make[2]: *** No rule to make target `../sql/z', needed by `sql/mysqld_dtrace_all.o'. Stop. if one of plugins would depends on system libz library Fix: Filter out non-static dependent libraries when dtracing static libs --- cmake/dtrace.cmake | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/cmake/dtrace.cmake b/cmake/dtrace.cmake index c12a74cba31..5beb45ca524 100644 --- a/cmake/dtrace.cmake +++ b/cmake/dtrace.cmake @@ -153,13 +153,23 @@ ENDFUNCTION() # to mysqld. MACRO (DTRACE_INSTRUMENT_STATIC_LIBS target libs) IF(CMAKE_SYSTEM_NAME MATCHES "SunOS" AND ENABLE_DTRACE) + # Filter out non-static libraries in the list, if any + SET(static_libs) FOREACH(lib ${libs}) + GET_TARGET_PROPERTY(libtype ${lib} TYPE) + IF(libtype MATCHES STATIC_LIBRARY) + SET(static_libs ${static_lics} ${lib}) + ENDIF() + ENDFOREACH() + + FOREACH(lib ${static_libs}) SET(dirs ${dirs} ${TARGET_OBJECT_DIRECTORY_${lib}}) ENDFOREACH() + SET (obj ${CMAKE_CURRENT_BINARY_DIR}/${target}_dtrace_all.o) ADD_CUSTOM_COMMAND( OUTPUT ${obj} - DEPENDS ${libs} + DEPENDS ${static_libs} COMMAND ${CMAKE_COMMAND} -DDTRACE=${DTRACE} -DOUTFILE=${obj}