Commit graph

1564 commits

Author SHA1 Message Date
Joerg Bruehe
29d526838d Merge the bug fixes into the push tree. 2009-10-15 20:28:04 +02:00
Joerg Bruehe
5710aae8bb Fix Bug #47957
A build "--without-server" fails if using "--with-ssl" (YaSSL)

The problem was the lack of directory "extra" in a build
which did not include the server.

configure.in:
  1) Ensure "extra" is in the list of client directories.
  2) Always handle the client directories first, as they will
     be contained in every build (we have client-only, but not
     server-only).
2009-10-09 21:31:37 +02:00
unknown
1cef459c50 Raise version number after cloning 5.1.40 2009-10-06 19:37:08 +02:00
Georgi Kodinov
370acc8b56 automerge 2009-10-04 12:15:05 +03:00
Ingo Struewing
4d57b851a0 WL#4259 - Debug Sync Facility
Backport from 6.0 to 5.1.
Only those sync points are included, which are used in debug_sync.test.

  The Debug Sync Facility allows to place synchronization points
  in the code:
  
  open_tables(...)
  
  DEBUG_SYNC(thd, "after_open_tables");
  
  lock_tables(...)
  
  When activated, a sync point can
  
  - Send a signal and/or
  - Wait for a signal
  
  Nomenclature:
  
  - signal:            A value of a global variable that persists
                       until overwritten by a new signal. The global
                       variable can also be seen as a "signal post"
                       or "flag mast". Then the signal is what is
                       attached to the "signal post" or "flag mast".
  
  - send a signal:     Assign the value (the signal) to the global
                       variable ("set a flag") and broadcast a
                       global condition to wake those waiting for
                       a signal.
  
  - wait for a signal: Loop over waiting for the global condition until
                       the global value matches the wait-for signal.
  
  Please find more information in the top comment in debug_sync.cc
  or in the worklog entry.


.bzrignore:
  WL#4259 - Debug Sync Facility
  Added the symbolic link libmysqld/debug_sync.cc.
CMakeLists.txt:
  WL#4259 - Debug Sync Facility
  Added definition for ENABLED_DEBUG_SYNC.
configure.in:
  WL#4259 - Debug Sync Facility
  Added definition for ENABLED_DEBUG_SYNC.
include/my_sys.h:
  WL#4259 - Debug Sync Facility
  Added definition for the DEBUG_SYNC_C macro.
libmysqld/CMakeLists.txt:
  WL#4259 - Debug Sync Facility
  Added sql/debug_sync.cc.
libmysqld/Makefile.am:
  WL#4259 - Debug Sync Facility
  Added sql/debug_sync.cc.
mysql-test/include/have_debug_sync.inc:
  WL#4259 - Debug Sync Facility
  New include file.
mysql-test/mysql-test-run.pl:
  WL#4259 - Debug Sync Facility
  Added option --debug_sync_timeout.
mysql-test/r/debug_sync.result:
  WL#4259 - Debug Sync Facility
  New test result.
mysql-test/r/have_debug_sync.require:
  WL#4259 - Debug Sync Facility
  New require file.
mysql-test/t/debug_sync.test:
  WL#4259 - Debug Sync Facility
  New test file.
mysys/my_static.c:
  WL#4259 - Debug Sync Facility
  Added definition for debug_sync_C_callback_ptr.
mysys/thr_lock.c:
  WL#4259 - Debug Sync Facility
  Added sync point "wait_for_lock".
sql/CMakeLists.txt:
  WL#4259 - Debug Sync Facility
  Added debug_sync.cc and debug_sync.h.
sql/Makefile.am:
  WL#4259 - Debug Sync Facility
  Added debug_sync.cc and debug_sync.h.
sql/debug_sync.cc:
  WL#4259 - Debug Sync Facility
  New source file.
sql/debug_sync.h:
  WL#4259 - Debug Sync Facility
  New header file.
sql/mysqld.cc:
  WL#4259 - Debug Sync Facility
  Added opt_debug_sync_timeout.
  Added calls to debug_sync_init() and debug_sync_end().
  Fixed a purecov comment (unrelated).
sql/set_var.cc:
  WL#4259 - Debug Sync Facility
  Added server variable "debug_sync".
sql/set_var.h:
  WL#4259 - Debug Sync Facility
  Added declaration for server variable "debug_sync".
sql/share/errmsg.txt:
  WL#4259 - Debug Sync Facility
  Added error messages ER_DEBUG_SYNC_TIMEOUT and ER_DEBUG_SYNC_HIT_LIMIT.
sql/sql_base.cc:
  WL#4259 - Debug Sync Facility
  Added sync points "after_flush_unlock" and "before_lock_tables_takes_lock".
sql/sql_class.cc:
  WL#4259 - Debug Sync Facility
  Added initialization for debug_sync_control to THD::THD.
  Added calls to debug_sync_init_thread() and debug_sync_end_thread().
sql/sql_class.h:
  WL#4259 - Debug Sync Facility
  Added element debug_sync_control to THD.
storage/myisam/myisamchk.c:
  Fixed a typo in an error message string (unrelated).
2009-09-29 17:38:40 +02:00
Joerg Bruehe
d609fdf98b Upmerge 5.0-build -> 5.1-build. 2009-09-28 11:07:31 +02:00
Joerg Bruehe
b80e34fe00 Merge the fix for bug#47137 into 5.0-build
Solaris binary packages should be compiled with '-g0', not '-g'
2009-09-28 10:43:26 +02:00
Joerg Bruehe
c78915b218 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.
2009-09-17 21:50:54 +02:00
Joerg Bruehe
db89051656 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:
  The directories "storage/" and "plugin/" contain files
  which are needed for the server only, so their contents
  is to be built only if a server is built.
  
  They must not be named unconditionally, because building
  their contents will fail unless threads are enabled.
  
  These directories are now listed in the "configure"
  variable "sql_server_dirs" which becomes part of
  "sql_union_dirs" if the server is to be built.
client/mysqlimport.c:
  Use the wrapper function "mysql_thread_end()" which
  correctly handles the case of a non-threaded build.
client/mysqlslap.c:
  Use the wrapper function "mysql_thread_end()" which
  correctly handles the case of a non-threaded build.
configure.in:
  Various changes to support builds "--without-server":
  
  1) For the unit tests, we need "libdbug".
  
  2) Separate the treatment of the server from that of the
     thread-safe client library.
  
  3) Introduce an "automake conditional" "NEED_THREAD"
     which can be checked in some "Makefile.am".
  
  4) Include "storage/" and "plugin/" in the list of
     "sql_server_dirs" so that they are handled in the
     top "Makefile.am" only if the server is to be built
     (see the change in that file).
mysys/Makefile.am:
  The code of "mf_keycache.c" in 5.1 is no longer safe
  to be built without thread support.
  (In 5.0, this was possible.)
  
  Rather than fix these issues, which is tedious and risky,
  avoid the need to ever build it without thread support:
  It is needed in the server only, which needs thread support.
  
  The only case where we build a "libmysys" without thread
  support is for a non-threaded client, where "mf_keycache"
  is not neded.
  So its inclusion in the list of source files can depend
  on the new conditional "NEED_THREAD".
unittest/mysys/Makefile.am:
  Test program "my_atomic-t" is to verify the correct handling
  of threads only, it cannot be built without thread support
  and is not needed in such cases either.
  
  Let its build depend on the new conditional "NEED_THREAD".
2009-09-17 18:34:24 +02:00
unknown
bd1038fecb Raise version number after cloning 5.0.86 2009-09-08 22:56:00 +02:00
Jonathan Perkin
19d0529819 Raise version number after cloning 5.1.39 2009-09-03 18:20:43 +02:00
unknown
a2daa87980 Raise version number after cloning 5.0.85 2009-08-11 07:16:52 +02:00
unknown
606c7e0d12 Raise version number after cloning 5.1.38 2009-08-12 16:41:07 +02:00
unknown
7703b64bfb Raise version number after cloning 5.1.37 2009-07-13 22:43:31 +02:00
unknown
006d97dc97 Raise version number after cloning 5.0.84 2009-07-07 11:47:23 +02:00
Christoffer Hall
0d54c57c2d Merge from main branch 2009-06-29 14:55:22 +02:00
Alexey Kopytov
c446ade8e5 Automerge. 2009-06-26 17:59:52 +04:00
Alexey Kopytov
67996ebc08 Automerge. 2009-06-26 17:52:44 +04:00
Christoffer Hall
ea963c3693 BUG#42721 configure.in invokes 'nm' directly
A hardcoded use of nm and libc was put into configure.in. This broke
cross-compiling and is bad practice. Fitting variables now used.
2009-06-22 14:43:19 +02:00
Georgi Kodinov
05ecbc7ad9 automerge 2009-06-22 14:53:22 +03:00
Davi Arnaut
4de6d1a80f Bug#42599: error: `pthread_setschedprio' was not declared in this scope
The problem was that a pthread.h header used by gcc did not
declare the pthread_setscheprio, yet the function is implemented
by the function is implemented, causing a autoconf check to pass
and compilation with C++ to fail. The solution is to add a
autoconf check to ensure that the function is properly declared.

configure.in:
  Check that the pthread_setschedprio is declared.
2009-06-18 20:21:47 -03:00
Alexey Kopytov
e544285dc2 Bug #41710: MySQL 5.1.30 crashes on the latest OpenSolaris 10
Change the default optimization level for Sun Studio to "-O1". 
This is a workaround for a Sun Studio bug (see bug #41710 
comments for details): 
 
1. Use $GCC instead of $ac_cv_prog_gcc to check for gcc, since 
the first one is the only documented way to do it. 
 
2. Use $GXX instead of $ac_cv_prog_cxx_g to check for g++, 
since the latter is set to "yes" when the C++ compiler accepts 
"-g" which is the case for both g++ and CC. 
 
3. When building with Sun Studio, set the default values for 
CFLAGS/CXXFLAGS to "-O1", since unlike GCC, Sun Studio 
interprets "-O" as "-xO3" (see the manual pages for cc and CC). 

configure.in:
  1. Use $GCC instead of $ac_cv_prog_gcc to check for gcc, since 
  the first one is the only documented way to do it. 
   
  2. Use $GXX instead of $ac_cv_prog_cxx_g to check for g++, 
  since the latter is set to "yes" when the C++ compiler accepts 
  "-g" which is the case for both g++ and CC. 
   
  3. When building with Sun Studio, set the default values for 
  CFLAGS/CXXFLAGS to "-O1", since unlike GCC, Sun Studio 
  interprets "-O" as "-xO3" (see the manual pages for cc and CC).
2009-06-18 17:11:47 +04:00
Jonathan Perkin
a0fcfc0c12 Raise version number after cloning 5.1.36 2009-06-16 14:00:04 +02:00
unknown
7a06fac510 Raise version number after cloning 5.0.83 2009-05-29 19:45:32 +02:00
Jonathan Perkin
09cf42a24f Raise version number after cloning 5.1.35 2009-05-14 13:07:11 +02:00
unknown
fca0a61a1a Raise version number after cloning 5.0.82 2009-05-07 21:42:19 +02:00
Chad MILLER
767501a9b1 Merge community up to enterprise, thus ending the community-server
adventure.
2009-05-06 09:06:32 -04:00
Chad MILLER
4822696ecb Pull 5.1 treatment of community features into 5.0. 2009-05-05 17:03:23 -04:00
Georgi Kodinov
abf3efe588 merged 5.0-main to 5.0-bugteam 2009-04-30 16:39:00 +03:00
Georgi Kodinov
60083f4895 bumped the version to 5.0.82 (5.0.81-community to be released) 2009-04-16 16:47:02 +03:00
Chad MILLER
14f923c028 Merge 5.0.80 release and 5.0 community. Version left at 5.0.80. 2009-04-14 13:20:13 -04:00
unknown
38e9e2f61e Raise version number after cloning 5.0.80 2009-04-13 19:50:28 +02:00
Georgi Kodinov
3346c5c9d3 merged 5.1-main -> 5.1-bugteam 2009-04-01 12:57:34 +03:00
Jonathan Perkin
9530e5c79e Raise version number after cloning 5.1.34 2009-03-30 13:27:23 +02:00
Alexey Kopytov
4ee0f6a64c Automerge. 2009-03-25 16:19:53 +03:00
Alexey Kopytov
c4eba1edc1 Manual merge. 2009-03-25 15:48:29 +03:00
Alexey Kopytov
bbe24f03f2 Fix for bug #42965: isinf() on 32bit x86 with gcc 4.3 can
produce incorrect results for ROUND() 

Added a workaround and a configure check to test whether 
isinf() is affected by the GCC bug #39228. 
       
Since no code in MySQL server is currently affected by that 
bug, the patch is actually a safeguard for possible future 
code modifications. No test cases or changelog entries are 
needed. 


configure.in:
  Added a configure check to test whether isinf() is safe to use
  in C code.
include/my_global.h:
  Added a workaround for GCC bug #39228.
2009-03-24 11:26:22 +03:00
Georgi Kodinov
07d3da54fc reverting a bogus fix into 5.1-bugteam 2009-03-20 13:18:29 +02:00
Chad MILLER
1f34139544 Merge bugteam and contributed two patches from
Antony Dovgal <tony @ daylessday.org> .  SCA signed and faxed to
tel:+1-408-715-2540.  Patches tweaked by Chad.
2009-03-19 09:53:54 -04:00
Chad MILLER
9bdcb6ba6e Copy include/config.h to include/my_config.h at configure-time. Also,
continue to update it at make-time.

One shouldn't need to run "make" on server source to get the stuff we say
plugins should use.
2009-03-19 09:37:30 -04:00
Chad MILLER
1fd4ed8ed8 Using autoconf definitions instead of manually appending to CFLAGS is
smarter, and according to a contributer, it is necessary for plugin authors
using "--with-debug".
2009-03-18 08:49:05 -04:00
Jonathan Perkin
99eeb9fbbc Raise version number after cloning 5.1.33 2009-03-13 21:01:19 +01:00
unknown
66ecfad2d1 Raise version number after cloning 5.0.79 2009-03-09 19:33:01 +01:00
Georgi Kodinov
fac9dee474 merged 5.1-main -> 5.1-pe-stage 2009-03-09 12:52:08 +02:00
Joerg Bruehe
8f06dba94d Merge main 5.1 into 5.1-build 2009-02-28 17:35:00 +01:00
unknown
4da0c708b5 Insert current year as last copyright year for the product
Don't use both "License" and "license" as RPM macro, they are the same
2009-02-24 17:54:03 +01:00
Alexey Kopytov
8ae8162403 Manual merge to 5.1. 2009-02-23 14:42:31 +02:00
Alexey Kopytov
0e62c9aa63 Fix for bug #15936: "round" differs on Windows to Unix
Both of our own implementations of rint(3) were inconsistent with the
most common behavior of rint() on those platforms that have it: round
to nearest, break ties by rounding to nearest even.

Fixed by leaving just one implementation of rint() in our source tree,
and changing its behavior to match the most common native
implementations on other platforms.

configure.in:
  Added checks for fenv.h and fesetround().
include/config-win.h:
  Removed the incorrect implementation of rint() for Windows.
include/my_global.h:
  Added an rint() implementation for platforms that do not have it.
mysql-test/r/func_math.result:
  Added a test case for bug #15936.
mysql-test/t/func_math.test:
  Added a test case for bug #15936.
sql/mysqld.cc:
  Explicitly set the FPU rounding mode with fesetround().
2009-02-23 14:28:26 +02:00
Staale Smedseng
b2a8faebea Bug#31506 detection of function's availability is wrong in
configure.in

Replacing AC_CHECK_FUNC+AC_CHECK_LIB combination with
AC_SEARCH_LIBS.
2009-02-19 11:24:52 +01:00
unknown
6bd93f6702 Raise version number after cloning 5.1.32 2009-02-11 14:58:50 +01:00