From cdc2cfb5f1ff293b9932c3827802e461d7d16481 Mon Sep 17 00:00:00 2001 From: "hery.ramilison@sun.com" <> Date: Tue, 8 Sep 2009 22:56:00 +0200 Subject: [PATCH 1/4] Raise version number after cloning 5.0.86 --- configure.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.in b/configure.in index a70bb3ca27f..523ac01c6f3 100644 --- a/configure.in +++ b/configure.in @@ -7,7 +7,7 @@ AC_INIT(sql/mysqld.cc) AC_CANONICAL_SYSTEM # The Docs Makefile.am parses this line! # remember to also change ndb version below and update version.c in ndb -AM_INIT_AUTOMAKE(mysql, 5.0.86) +AM_INIT_AUTOMAKE(mysql, 5.0.87) AM_CONFIG_HEADER([include/config.h:config.h.in]) PROTOCOL_VERSION=10 @@ -23,7 +23,7 @@ NDB_SHARED_LIB_VERSION=$NDB_SHARED_LIB_MAJOR_VERSION:0:0 # ndb version NDB_VERSION_MAJOR=5 NDB_VERSION_MINOR=0 -NDB_VERSION_BUILD=86 +NDB_VERSION_BUILD=87 NDB_VERSION_STATUS="" # Set all version vars based on $VERSION. How do we do this more elegant ? From c07381bae2a35be08f5ad14df8a3b6a604189695 Mon Sep 17 00:00:00 2001 From: hery Date: Wed, 9 Sep 2009 20:52:17 +0200 Subject: [PATCH 2/4] change c++ comment to c comment --- client/mysqltest.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/mysqltest.c b/client/mysqltest.c index 79df511641d..4f8e6cdac99 100644 --- a/client/mysqltest.c +++ b/client/mysqltest.c @@ -1406,7 +1406,7 @@ void show_diff(DYNAMIC_STRING* ds, else diff_name = 0; #else - diff_name = "diff"; // Otherwise always assume it's called diff + diff_name = "diff"; /* Otherwise always assume it's called diff */ #endif if (diff_name) From 67bcf54df6cf8a35ae3e7ce91631dab60ab9356e Mon Sep 17 00:00:00 2001 From: Joerg Bruehe Date: Thu, 17 Sep 2009 18:34:24 +0200 Subject: [PATCH 3/4] Fix bug#46980 Option "--without-server" still not working in 5.1 The general approach is to make sure that source files which require thread support are only compiled if the build really needs thread support, which means when the server is built or a thread-safe client library. This required several changes: - Make sure the subdirectories "storage/" and "plugin/" are only processed if the server is built, not ifclient-only. - Make the compilation of some modules which inherently require threading depend on thread supportin the build. - Separate the handling of threading in "configure.in" from that of server issues, threading is also needed in a non-server build of a thread-safe client library. Also, "libdbug" must get built even in a client-only build, so "dbug/" must be in the list of client directories. In addition, calls to thread functions in source files which can be built without thread support must use the wrapper functions which handle the non-threaded build. So the modules "client/mysqlimport.c" and "client/mysqlslap.c" must call "my_thread_end()" only via "mysql_thread_end()". --- Makefile.am | 4 ++-- client/mysqlimport.c | 4 ++-- client/mysqlslap.c | 4 ++-- configure.in | 11 ++++++++--- mysys/Makefile.am | 12 ++++++++++-- unittest/mysys/Makefile.am | 11 +++++++++-- 6 files changed, 33 insertions(+), 13 deletions(-) diff --git a/Makefile.am b/Makefile.am index adab4dc41f4..e71520bf887 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,4 @@ -# Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc. +# Copyright 2000-2008 MySQL AB, 2009 Sun Microsystems, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ EXTRA_DIST = INSTALL-SOURCE INSTALL-WIN-SOURCE \ SUBDIRS = . include @docs_dirs@ @zlib_dir@ \ @readline_topdir@ sql-common scripts \ @pstack_dir@ \ - @sql_union_dirs@ unittest storage plugin \ + @sql_union_dirs@ unittest \ @sql_server@ @man_dirs@ tests \ netware @libmysqld_dirs@ \ mysql-test support-files sql-bench @tools_dirs@ \ diff --git a/client/mysqlimport.c b/client/mysqlimport.c index 92e9702aea0..ef38d760e5d 100644 --- a/client/mysqlimport.c +++ b/client/mysqlimport.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2006 MySQL AB +/* Copyright (C) 2000-2006 MySQL AB, 2009 Sun Microsystems, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -583,7 +583,7 @@ error: counter--; pthread_cond_signal(&count_threshhold); pthread_mutex_unlock(&counter_mutex); - my_thread_end(); + mysql_thread_end(); return 0; } diff --git a/client/mysqlslap.c b/client/mysqlslap.c index 70abfbb7136..2e4797e8930 100644 --- a/client/mysqlslap.c +++ b/client/mysqlslap.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005 MySQL AB +/* Copyright (C) 2005 MySQL AB, 2009 Sun Microsystems, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1918,7 +1918,7 @@ end: if (!opt_only_print) mysql_close(mysql); - my_thread_end(); + mysql_thread_end(); pthread_mutex_lock(&counter_mutex); thread_counter--; diff --git a/configure.in b/configure.in index b974d7076d7..d1757f7d8f1 100644 --- a/configure.in +++ b/configure.in @@ -2751,7 +2751,7 @@ server_scripts= dnl This probably should be cleaned up more - for now the threaded dnl client is just using plain-old libs. -sql_client_dirs="strings regex mysys libmysql" +sql_client_dirs="strings regex mysys dbug libmysql" AM_CONDITIONAL(THREAD_SAFE_CLIENT, test "$THREAD_SAFE_CLIENT" != "no") @@ -2779,15 +2779,20 @@ fi AC_SUBST(netware_dir) AM_CONDITIONAL(HAVE_NETWARE, test "$netware_dir" = "netware") -if test "$with_server" = "yes" -o "$THREAD_SAFE_CLIENT" != "no" +if test "$with_server" != "no" -o "$THREAD_SAFE_CLIENT" != "no" then AC_DEFINE([THREAD], [1], [Define if you want to have threaded code. This may be undef on client code]) # Avoid _PROGRAMS names THREAD_LOBJECTS="thr_alarm.o thr_lock.o thr_mutex.o thr_rwlock.o my_pthread.o my_thr_init.o mf_keycache.o" AC_SUBST(THREAD_LOBJECTS) +fi +AM_CONDITIONAL(NEED_THREAD, test "$with_server" != "no" -o "$THREAD_SAFE_CLIENT" != "no") + +if test "$with_server" != "no" +then server_scripts="mysqld_safe mysql_install_db" - sql_server_dirs="strings mysys dbug extra regex" + sql_server_dirs="strings mysys dbug extra regex storage plugin" sql_server="vio sql" fi diff --git a/mysys/Makefile.am b/mysys/Makefile.am index 8fea7fff4b0..16f0e1a9759 100644 --- a/mysys/Makefile.am +++ b/mysys/Makefile.am @@ -1,4 +1,4 @@ -# Copyright (C) 2000-2006 MySQL AB +# Copyright (C) 2000-2006 MySQL AB, 2009 Sun Microsystems, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ libmysys_a_SOURCES = my_init.c my_getwd.c mf_getdate.c my_mmap.c \ mf_path.c mf_loadpath.c my_file.c \ my_open.c my_create.c my_dup.c my_seek.c my_read.c \ my_pread.c my_write.c my_getpagesize.c \ - mf_keycache.c mf_keycaches.c my_crc32.c \ + mf_keycaches.c my_crc32.c \ mf_iocache.c mf_iocache2.c mf_cache.c mf_tempfile.c \ mf_tempdir.c my_lock.c mf_brkhant.c my_alarm.c \ my_malloc.c my_realloc.c my_once.c mulalloc.c \ @@ -53,6 +53,14 @@ libmysys_a_SOURCES = my_init.c my_getwd.c mf_getdate.c my_mmap.c \ my_handler.c my_netware.c my_largepage.c \ my_memmem.c stacktrace.c \ my_windac.c my_access.c base64.c my_libwrap.c + +if NEED_THREAD +# mf_keycache is used only in the server, so it is safe to leave the file +# out of the non-threaded library. +# In fact, it will currently not compile without thread support. +libmysys_a_SOURCES += mf_keycache.c +endif + EXTRA_DIST = thr_alarm.c thr_lock.c my_pthread.c my_thr_init.c \ thr_mutex.c thr_rwlock.c \ CMakeLists.txt mf_soundex.c \ diff --git a/unittest/mysys/Makefile.am b/unittest/mysys/Makefile.am index be91ef31c9d..f0ffc7a6720 100644 --- a/unittest/mysys/Makefile.am +++ b/unittest/mysys/Makefile.am @@ -1,4 +1,4 @@ -# Copyright (C) 2006 MySQL AB +# Copyright (C) 2009 Sun Microsystems, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -21,7 +21,14 @@ LDADD = $(top_builddir)/unittest/mytap/libmytap.a \ $(top_builddir)/dbug/libdbug.a \ $(top_builddir)/strings/libmystrings.a -noinst_PROGRAMS = bitmap-t base64-t my_atomic-t +noinst_PROGRAMS = bitmap-t base64-t + +if NEED_THREAD +# my_atomic-t is used to check thread functions, so it is safe to +# ignore the file in non-threaded builds. +# In fact, it will not compile without thread support. +noinst_PROGRAMS += my_atomic-t +endif # Don't update the files from bitkeeper %::SCCS/s.% From 275cec8026332310b6642e6f50cd1d3a718e4ffd Mon Sep 17 00:00:00 2001 From: Joerg Bruehe Date: Thu, 17 Sep 2009 21:50:54 +0200 Subject: [PATCH 4/4] Fix bug#47137 Solaris binary packages should be compiled with '-g0', not '-g' The main fix for this is done in the build tools, but in the sources it affects "configure.in" which sets "DEBUG_CXXFLAGS" to be used in all debug builds. --- configure.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configure.in b/configure.in index a70bb3ca27f..e338a55f52e 100644 --- a/configure.in +++ b/configure.in @@ -1779,13 +1779,14 @@ then DEBUG_OPTIMIZE_CXX="-O" OPTIMIZE_CXXFLAGS="$MAX_CXX_OPTIMIZE" else - DEBUG_CXXFLAGS="-g" DEBUG_OPTIMIZE_CXX="" case $SYSTEM_TYPE in *solaris*) + DEBUG_CXXFLAGS="-g0" OPTIMIZE_CXXFLAGS="-O1" ;; *) + DEBUG_CXXFLAGS="-g" OPTIMIZE_CXXFLAGS="-O" ;; esac