Commit graph

1,775 commits

Author SHA1 Message Date
Peter Lieverdink
cbaa5aaf47 Typo fixes for "usefull" -> "useful". 2009-10-01 09:40:51 +10:00
Peter Lieverdink
e4ee17b4a8 Look for libreadline in the light location on *both* tests. 2009-09-30 08:50:10 +10: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
unknown
7b32690cf9 Raise version number after cloning 5.0.87 2009-10-13 20:50:37 +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
85c97f96c0 More after-merge fixes for MySQL 5.1.38 merge.
Fix version number (we are based on 5.1.38, not 5.1.39).
Fix mistaken translation in error message.
2009-09-15 13:55:37 +02:00
unknown
bd1038fecb Raise version number after cloning 5.0.86 2009-09-08 22:56:00 +02:00
Sergey Petrunya
29f0dcb563 Merge MySQL->MariaDB
* Finished Monty and Jani's merge
* Some InnoDB tests still fail (because it's old xtradb code run against
  newer testsuite). They are expected to go after mergning with the latest
  xtradb.
2009-09-08 00:50:10 +04:00
Jonathan Perkin
19d0529819 Raise version number after cloning 5.1.39 2009-09-03 18:20:43 +02:00
unknown
606c7e0d12 Raise version number after cloning 5.1.38 2009-08-12 16:41:07 +02:00
unknown
a2daa87980 Raise version number after cloning 5.0.85 2009-08-11 07:16:52 +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
4b2aafb35c Merge of Percona XtraDB into MariaDB. 2009-06-11 19:49:51 +02:00
unknown
d2d7b5bbb6 Fix XtraDB to build with atomic operations, for good performance.
The root of the problem is that ./configure mixed together two different things. One is the
availability of GCC atomic operation intrinsics. The other is the selection of which
primitives to use for my_atomic implementation.

Then at some point a hack was made to not use GCC intrinsics in my_atomic to work around
some test failures. But because the two things are mixed in ./configure, this as a side
effect also makes GCC intrinsics unavailable for XtraDB.

Fixed by splitting this in two in configure, so that we have HAVE_GCC_ATOMIC_BUILTINS for
GCC intrinsics availability and MY_ATOMIC_MODE_GCC_BUILTINS for use in my_atomic.
2009-06-10 11:13:53 +02:00
unknown
7a06fac510 Raise version number after cloning 5.0.83 2009-05-29 19:45:32 +02:00
unknown
48083d73d3 After-merge fixes for problems seen in buildbot after merging MySQL-5.1.35.
- Version number.
 - Valgrind false alarms in libz.
 - New variant of suppression for Valgrind warning in dlclose().
 - Fix double free() in plugin init error case.

configure.in:
  Fix version number. We should reset the maria variant back to `1' when the MySQL version
  number increases.
include/my_sys.h:
  Fix false alarms in Valgrind for zlib.
  
  Apply same fix as for archive storage handler also to the cases of compression in the
  client protocol, and to the compression SQL function.
mysql-test/valgrind.supp:
  A new variant of the dlclose() suppression is needed now.
mysys/my_compress.c:
  Fix false alarms in Valgrind for zlib.
  
  Apply same fix as for archive storage handler also to the cases of compression in the
  client protocol, and to the compression SQL function.
sql/handler.cc:
  Fix a double free() in error case for plugin initialisation.
sql/item_strfunc.cc:
  Fix false alarms in Valgrind for zlib.
  
  Apply same fix as for archive storage handler also to the cases of compression in the
  client protocol, and to the compression SQL function.
2009-05-22 14:38:50 +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
Michael Widenius
e726e587ec Merged with mysql-5.1 tree.
client/mysqltest.cc:
  Manually merged
configure.in:
  Manually merged
mysql-test/r/variables.result:
  Manually merged
mysql-test/t/variables.test:
  Manually merged
mysys/my_pread.c:
  Manually merged
mysys/my_read.c:
  Manually merged
sql/mysqld.cc:
  Manually merged
storage/csv/ha_tina.h:
  Manually merged
storage/myisam/ha_myisam.cc:
  Manually merged
storage/myisam/mi_check.c:
  Manually merged
storage/myisam/mi_search.c:
  Manually merged
2009-04-25 13:05:32 +03:00
Michael Widenius
210a412522 bzr merge from guilhem's maria tree to our local 5.1
configure.in:
  Manually merged
mysql-test/lib/My/ConfigFactory.pm:
  Manually merged
mysql-test/mysql-test-run.pl:
  Manually merged
mysql-test/t/information_schema.test:
  Manually merged
sql/handler.cc:
  Manually merged
support-files/mysql.spec.sh:
  Manually merged
2009-04-25 12:04:38 +03:00
unknown
059b9356a1 Bump maria version following release. 2009-04-23 15:06:16 +02: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
Guilhem Bichot
c71aae73f6 merge of 5.1-main into 5.1-maria. MyISAM changes are propagated to Maria except
those of davi.arnaut@sun.com-20090219210935-9vilvcisyyieffxl (TODO).
2009-04-01 11:34:52 +02: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
Michael Widenius
46db8aac44 Apply patch by Antony Dovgal:
- Move SAFE_MUTEX to be stored in config.h by configure.in (not as a flag used with compiler command line)
- Generate my_config.h in configure

BUILD/SETUP.sh:
  Remove -DSAFE_MUTEX as the following --with-debug flag will automaticly add it
BUILD/compile-ia64-debug-max:
  Remove -DSAFE_MUTEX as the following --with-debug flag will automaticly add it
configure.in:
  Move SAFE_MUTEX and SAFE_MALLOC to [my_] config.h
  Generate my_config.h as part of configure process
dbug/dbug.c:
  Include my_global.h before we undef SAFE_MUTEX
include/Makefile.am:
  Update comment. For now, lets generate my_config.h if someone deletes it after configure
mysys/my_wincond.c:
  Include my_global.h before we undef SAFE_MUTEX
mysys/my_winthread.c:
  Include my_global.h before we undef SAFE_MUTEX
2009-03-22 14:16:09 +02: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