- Reverted removal of errorcheck mutex initialise, used in safe_mutex_init.
include/my_pthread.h:
Reverted the removal of errorcheck mutex initializer
mysys/my_thr_init.c:
Reverted the removal of errorcheck mutex initializer
Add destruction of mutex initializer
- Made a script that selects the best compiler optimizations for the current cpu.
- Use the script from BUILD/SETUP.sh
BUILD/SETUP.sh:
Run check-cpu and use the compiler optimization flags it outputs
Added protection against global read lock while creating and
initializing a delayed insert handler.
Allowed to ignore a global read lock when locking the table
inside the delayed insert handler.
Added some minor improvements.
sql/lock.cc:
Bug#7823 - FLUSH TABLES WITH READ LOCK + INSERT DELAYED = deadlock
Changed mysql_lock_tables() to allow for ignoring global read lock.
Added functions to set/unset protection against global read lock.
sql/mysql_priv.h:
Bug#7823 - FLUSH TABLES WITH READ LOCK + INSERT DELAYED = deadlock
Changed existing and added new function declarations.
sql/sql_insert.cc:
Bug#7823 - FLUSH TABLES WITH READ LOCK + INSERT DELAYED = deadlock
Added and extended some comments.
Added a protection against global read lock while a handler is
created and initialized.
Moved the unlock of the delayed insert object past its last usage
in delayed_get_table().
Changed the table locking in handle_delayed_insert() so that it
does not wait for global read lock.
sql/ha_innodb.cc:
Fixed a bug using mysqldump to InnoDB tables causes error (Bug #10200).
Lock type must be stored when sql_command = SQLCOM_LOCK_TABLES and
lock_type = TL_READ or TL_READ_INSERT even when
innobase_locks_unsafe_for_binlog is set.
- Display error if system readline or libedit can't be found
configure.in:
Display an error if user has selected not to use the bundled libedit or readline, AND the system readline or libedit can't be found
- Changed makelist.sh
- Bump up required version of autoconf
- Use new style to init mutex in my_thr_init
cmd-line-utils/libedit/makelist.sh:
Changed file so it works also on windows cr/lf files.
configure.in:
Bump up required AC version number so that correct version of aclocal and autoconf is selected.
include/my_pthread.h:
Use PTHREAD_MUTEX_ADAPTIVE_NP to see if "fast" mutexes are available
Remove "errorcheck" mutexes, since they are never used.
mysys/my_thr_init.c:
Use new style functions to init mutex if PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP is defined
Add comment what mutex "kind" means
(and maybe strange results on other platforms). (Bug #9851)
extra/my_print_defaults.c:
Increase size of tmp_arguments array to actually fit possible values
Fix a problem in crash recovery of .ibd files on Windows if the user used lower_case_table_names=0 or 2; the directory scan in crash recovery forgot to put all paths to lower case, so that the tablespace name would be consistent with the internal data dictionary of InnoDB; remember that InnoDB puts internally all database names and table names to lower case on Windows, regardless of the value of lower_case_table_names
innobase/fil/fil0fil.c:
Fix a problem in crash recovery of .ibd files on Windows if the user used lower_case_table_names=0 or 2; the directory scan in crash recovery forgot to put all paths to lower case, so that the tablespace name would be consistent with the internal data dictionary of InnoDB; remember that InnoDB puts internally all database names and table names to lower case on Windows, regardless of the value of lower_case_table_names
innobase/include/dict0dict.h:
Fix a problem in crash recovery of .ibd files on Windows if the user used lower_case_table_names=0 or 2; the directory scan in crash recovery forgot to put all paths to lower case, so that the tablespace name would be consistent with the internal data dictionary of InnoDB; remember that InnoDB puts internally all database names and table names to lower case on Windows, regardless of the value of lower_case_table_names
innobase/dict/dict0dict.c:
Fix a problem in crash recovery of .ibd files on Windows if the user used lower_case_table_names=0 or 2; the directory scan in crash recovery forgot to put all paths to lower case, so that the tablespace name would be consistent with the internal data dictionary of InnoDB; remember that InnoDB puts internally all database names and table names to lower case on Windows, regardless of the value of lower_case_table_names
mysys/default.c:
Cleanup:
- Just test once for recursion level
- Don't test explicitely for \r or \n as my_isspace() already does that
sql/sql_insert.cc:
Fix argument
sql/sql_select.cc:
Fixed indentation
added comment
no rows of the blackhold engine (for this engine to be a binlog propagator).
NOTE: blackhole.test currently hangs in 5.0 BUG#10175 so I'll merge without running this test; the
person who fixes the hang will correct the merged blackhole.result or ask me to).
mysql-test/r/blackhole.result:
result update
mysql-test/t/blackhole.test:
checking that statements get into binlog even when they were affecting
no rows of the blackhold engine. So that this engine can serve as
a binlog propagator (A->B->C replication where B has only blackhole tables,
B receives binlog from A, applies it to blackhole tables, writes statements
to its binlog which it sends to C; both A and C have non-blackhole tables). B is just a proxy.
- Implemented ha_archive::rename_table
- Added testcases for rename
mysql-test/r/archive.result:
Addd testcase for rename of archive table
mysql-test/t/archive.test:
Addd testcase for rename of archive table
sql/examples/ha_archive.cc:
Implement special version of rename table that does not care it the .arn file is missing
sql/examples/ha_archive.h:
Implement special version of rename table that does not care it the .arn file is missing
acinclude.m4:
Use AC_LANG_PUSH/POP instead of _SAVE/RESTORE
Add test to get type of 'struct rlimit'
Switch order of including stdlib.h and declaration being tested to
match how it will be used in regular code.
configure.in:
Call MYSQL_TYPE_STRUCT_RLIMIT macro
sql/mysqld.cc:
Use STRUCT_RLIMIT for getting type of struct rlimit.
post review fix.
don't init hash value on restart operations
make sure that lock mode is correct in entire que.
ndb/test/ndbapi/testOperations.cpp:
Test case also for abort case.
(abort if not lock owner still fails!)
Change "configure.in".
The branches for Tru64 (ex: OSF/1) and Linux are separated,
and for Linux 'getconf GNU_LIBPTHREAD_VERSION' is used to tell between Linuxthreads and NPTL.
configure.in:
Step 3 of the switch to support configuration with NPTL:
Change "configure.in".
1) Separate the branches checking for thread libraries on OSF/1 (now: Tru64) and on Linux,
as these are different things. In the Tru64 branch, remove the obsolete part for OSF/1 3.2,
because that is gone since long (about a decade?); we are at 5 now. Adapt the comment.
2) For Linux, the thread libraries are "Linuxthreads" (older) and "NPTL" (newer).
Until now, we cared only about "Linuxthreads", and we did so by checking a comment in
the header file '/usr/include/pthread.h'.
With NPTL as an alternative or only thread package, this is not secure any more,
there are distributions where the header file still contains that comment but the lib is NPTL.
For all current distributions, the way to check is the 'getconf' command.
On old distributions, 'getconf' exists but does not understand the 'GNU_LIBPTHREAD_VERSION'
parameter. It is unlikely that such an old system should have NPTL, so the header file check is
sufficient if the getconf inquiry fails.
For both Linuxthreads and NPTL, '-lpthread' is the linker option to use.
3) To detect problems as early as possible, on Linux a link test using '-lpthread' is done.
The code is copied from a later check where the thread functions are searched in '-lc',
'-lpthread', and '-lpthreads', but this later search would not be executed after the lib
was already determined. So if the test is not done here, it will be detected only during
the real build. This is too late.
Redo abort handling according to descr. in Backup.txt
bug#9960 - ndb backup
increase wait completed timeout to 48 hours
ndb/include/kernel/signaldata/BackupImpl.hpp:
Add nodeid to reply to be able to fake reply during NF
ndb/include/kernel/signaldata/BackupSignalData.hpp:
new error codes
ndb/src/common/debugger/signaldata/BackupImpl.cpp:
fix printout
ndb/src/kernel/blocks/backup/Backup.cpp:
bug#9924 - ndb backup abort handling
Redo abort handling according to descr. in Backup.txt
ndb/src/kernel/blocks/backup/Backup.hpp:
bug#9924 - ndb backup abort handling
Redo abort handling according to descr. in Backup.txt
ndb/src/kernel/blocks/backup/Backup.txt:
bug#9924 - ndb backup abort handling
Redo abort handling according to descr. in Backup.txt
ndb/src/kernel/blocks/backup/BackupInit.cpp:
bug#9924 - ndb backup abort handling
Redo abort handling according to descr. in Backup.txt
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
Init own version
ndb/src/mgmapi/mgmapi.cpp:
bug#9960 - ndb backup
increase wait completed timeout to 48 hours
ndb/src/mgmsrv/MgmtSrvr.cpp:
Handle node failures activly
(mainly for backup...)
ndb/src/mgmsrv/MgmtSrvr.hpp:
Handle node failures activly
(mainly for backup...)
ndb/src/mgmsrv/MgmtSrvrGeneralSignalHandling.cpp:
Handle node failures activly
(mainly for backup...)
ndb/src/ndbapi/ndberror.c:
new error codes
ndb/test/ndbapi/testBackup.cpp:
fix return codes
ndb/test/run-test/daily-basic-tests.txt:
Add failure test cases to autotest
ndb/test/src/NdbBackup.cpp:
fix error codes
introduce checking of backup resources after each test