Fixed compiler warnings in xtradb
Added back resetting of null bitmap but now in row_search_for_mysql()
storage/xtradb/row/row0sel.c:
Added back resetting of null bitmap but now in row_search_for_mysql()
This patch removes most remaining delays due to uninteruptible sleep()
during shutdown, as found using PMP. This makes standard test run very
close in speed to with --loose-innodb-fast-shutdown=2, and greatly
speeds up running the test suite.
sql/mysqld.cc:
Poll for threads to die every 20 msec during shutdown, rather than force
a wait for 2 full seconds should one thread be a little slow to exit
(this was seen occasionally in mysql-test-run).
storage/xtradb/include/srv0srv.h:
Rename the event, as we now use it to wakeup more threads during shutdown.
storage/xtradb/log/log0log.c:
Rename the event, as we now use it to wakeup more threads during shutdown.
storage/xtradb/srv/srv0srv.c:
Replace some hardcoded sleep()s with os_wait_event_time() that can be
interrupted early during server shutdown to avoid unnecessary delays.
Implement os_event_wait_time() for POSIX systems.
In the purge thread, use os_event_wait_time() when sleeping rather than sleep,
and signal the event when server shuts down, so we do not need to wait for
upto 10 seconds until the purge thread wakes up.
Also fix bug that warnings that were pushed after we call set_ok_status() were
not included in the waning count sent to the client in the result packet.
Also in mysqltest, in recursive die() invocation at least print the message
before aborting.
client/mysqltest.cc:
If we detect recursive die(), at least print the message before aborting.
mysql-test/r/warnings_debug.result:
Test case.
mysql-test/t/warnings_debug.test:
Test case.
sql/handler.cc:
Force generation of a warning with specific debug option, for testing.
sql/protocol.cc:
Fix wrong DBUG_ENTER
sql/sql_class.h:
Add method to count warnings pushed after set_ok_status() is called.
sql/sql_error.cc:
Also count warnings pushed after set_ok_status() is called.
storage/xtradb/include/os0sync.h:
Implement working os_sync_wait_time() for POSIX.
storage/xtradb/include/srv0srv.h:
Make the purge thread wait for an event when sleeping, so we can signal it to
wakeup immediately at shutdown.
storage/xtradb/log/log0log.c:
Make the purge thread wait for an event when sleeping, so we can signal it to
wakeup immediately at shutdown.
storage/xtradb/os/os0sync.c:
Implement working os_sync_wait_time() for POSIX.
storage/xtradb/srv/srv0srv.c:
Make the purge thread wait for an event when sleeping, so we can signal it to
wakeup immediately at shutdown.
Port the Facebook patch for releasing InnoDB row locks early to the
MWL#116 framework.
A new --innodb-release-locks-early option (off by default) enables a
prepare_ordered() handlerton method which will release row locks and
commit a transaction to memory immediately after successful prepare.
If the server subsequently tries to rollback (ie. due to binlog error),
crashes the server to prevent corrupting the InnoDB state.
mysql-test/r/innodb_release_row_locks_early.result:
Test case.
mysql-test/t/innodb_release_row_locks_early-master.opt:
Test case.
mysql-test/t/innodb_release_row_locks_early.test:
Test case.
sql/log.cc:
Add DEBUG_SYNC points for testing.
storage/xtradb/handler/ha_innodb.cc:
Release locks during prepare phase if --innodb-release-locks-early.
Crash the server if we are asked to rollback after releasing locks and
committing the transaction to memory.
storage/xtradb/include/srv0srv.h:
Add variable for --innodb-release-locks-early option.
storage/xtradb/include/trx0sys.ic:
If --innodb-release-locks-early, treat a transaction as committed to memory
as soon as it enters the TRX_PREPARED state.
storage/xtradb/srv/srv0srv.c:
Add variable for --innodb-release-locks-early option.
client/mysqlcheck.c:
Added missing casts
client/mysqldump.c:
Added missing casts
client/mysqlimport.c:
Added missing casts
extra/my_print_defaults.c:
Added missing casts
mysql-test/mysql-test-run.pl:
Added suppression for non-critical warning on windows
storage/maria/maria_pack.c:
Added missing casts
storage/xtradb/buf/buf0lru.c:
Added missing casts
storage/xtradb/fil/fil0fil.c:
Added missing casts
storage/xtradb/handler/i_s.cc:
Added extra argument to call store() function for longlong.
storage/xtradb/srv/srv0srv.c:
Added cast to suppress compiler warning
support-files/compiler_warnings.supp:
Added suppression for some non critical compiler warnings on Windows
unittest/mytap/tap.h:
Fixed prototypes to be same as the actual functions
Fixed sporadic test failure for suit/pbxt/t/lock_multi.test
Fixed sporadic test faulure for suit/rpl/t/do_grant.test
OpenSolaris 5.11-x86 now compiles (tested with 32 bit)
BUILD/compile-solaris-amd64-debug-forte:
Added execute bit
BUILD/compile-solaris-x86-32:
Added execute bit
BUILD/compile-solaris-x86-32-debug:
Added execute bit
BUILD/compile-solaris-x86-32-debug-forte:
Added execute bit
BUILD/compile-solaris-x86-forte-32:
Added execute bit
extra/libevent/devpoll.c:
Removed compiler warning
extra/libevent/evbuffer.c:
Removed compiler warning
extra/libevent/select.c:
Removed compiler warning
mysql-test/mysql-test-run.pl:
Fixed sporadic test faulure for suit/rpl/t/do_grant.test (Seen on OpenSolaris)
mysql-test/suite/pbxt/r/lock_multi.result:
Fixed sporadic test failure for suit/pbxt/t/lock_multi.test (seen in buildbot)
This was done by merging the test with main/lock_multi.test
mysql-test/suite/pbxt/t/lock_multi.test:
Fixed sporadic test failure for suit/pbxt/t/lock_multi.test (seen in buildbot)
This was done by merging the test with main/lock_multi.test
mysys/my_sync.c:
Removed compiler warnings
sql/ha_ndbcluster.cc:
Fixed linking error on OpenSolaris when compiling without ndb
Bug #34866 Can't compile on Solaris 9/Sparc with gcc
storage/archive/azlib.h:
Removed compiler warning about redefined symbols
storage/maria/ma_blockrec.c:
Removed compiler warning
storage/maria/ma_loghandler.c:
Removed compiler warning
storage/maria/ma_test3.c:
Removed compiler warning
storage/myisam/mi_test3.c:
Removed compiler warning
storage/pbxt/src/ha_pbxt.cc:
Removed compiler warning
thr_main -> thr_main_pbxt
storage/pbxt/src/restart_xt.cc:
thr_main -> thr_main_pbxt
storage/pbxt/src/thread_xt.cc:
thr_main -> thr_main_pbxt
This was needed as thr_main() is an internal thread function on OpenSolaris()
storage/pbxt/src/thread_xt.h:
thr_main -> thr_main_pbxt
storage/xtradb/srv/srv0srv.c:
Use compatiblity macro to get code to work on OpenSolaris
support-files/compiler_warnings.supp:
Ignore compiler warning from yassl
sql/mysqld.cc:
Explicit type casting required by windows x64 compiler.
storage/xtradb/include/srv0srv.h:
Parameters should be declared as ulong.
storage/xtradb/srv/srv0srv.c:
Parameters should be declared as ulong.
Add suppressions for a few warnings that cannot be meaningfully fixed by
MariaDB developers.
Changes for XtraDB, PBXT, and YaSSL also submitted upstream.
Also add a `ccfilter` wrapper that can be used to filter out suppressed warnings in a
local build (to check that new warnings are not introduced).
client/mysqlbinlog.cc:
Fix compiler warnings.
config/ac-macros/misc.m4:
Fix wrong naming, autoconfig requires _cv_ in cached names.
extra/yassl/include/yassl_int.hpp:
Fix compiler warnings.
extra/yassl/src/handshake.cpp:
Fix compiler warnings.
extra/yassl/src/yassl_imp.cpp:
Fix compiler warnings.
extra/yassl/src/yassl_int.cpp:
Fix compiler warnings.
extra/yassl/taocrypt/include/modes.hpp:
Fix compiler warnings.
extra/yassl/taocrypt/src/asn.cpp:
Fix compiler warnings.
mysys/my_compress.c:
Fix compiler warnings.
sql/mysqld.cc:
Fix compiler warnings.
sql/strfunc.cc:
Fix compiler warnings.
storage/pbxt/src/discover_xt.cc:
Fix compiler warnings.
storage/xtradb/fil/fil0fil.c:
Fix compiler warnings.
storage/xtradb/mtr/mtr0mtr.c:
Fix compiler warnings.
storage/xtradb/srv/srv0srv.c:
Fix compiler warnings.
storage/xtradb/srv/srv0start.c:
Fix compiler warnings.
strings/decimal.c:
Fix compiler warnings.
support-files/ccfilter:
Add helper for suppressing compiler warnings in local developer source tree.
Allows to check for not introducing new warnings into Buildbot without having to actually
run the build through Buildbot.
support-files/compiler_warnings.supp:
Suppress a few warnings that cannot be meaningfully fixed in source code.
- Add strmov_overlapp.c where it's needed
- Add libevent where it is required
- Fix typo in unittest/mysys/waiting_threads-t.c
- fix xtradb C language source so that they have variable declarations before
any operators, as it is (or was?) required in C.
libmysql/CMakeLists.txt:
- Add strmov_overlapp.c where it's needed
sql/CMakeLists.txt:
- Add strmov_overlapp.c where it's needed
- Add libevent where it is required
storage/xtradb/btr/btr0cur.c:
- fix xtradb C language source so that they have variable declarations before
any operators, as it is (or was?) required in C.
storage/xtradb/buf/buf0buddy.c:
- fix xtradb C language source so that they have variable declarations before
any operators, as it is (or was?) required in C.
storage/xtradb/buf/buf0flu.c:
- fix xtradb C language source so that they have variable declarations before
any operators, as it is (or was?) required in C.
storage/xtradb/fil/fil0fil.c:
- fix xtradb C language source so that they have variable declarations before
any operators, as it is (or was?) required in C.
storage/xtradb/handler/i_s.cc:
- fix xtradb C language source so that they have variable declarations before
any operators, as it is (or was?) required in C.
storage/xtradb/srv/srv0srv.c:
- fix xtradb C language source so that they have variable declarations before
any operators, as it is (or was?) required in C.
strings/CMakeLists.txt:
- Add strmov_overlapp.c where it's needed
unittest/mysys/waiting_threads-t.c:
- Fix typo in unittest/mysys/waiting_threads-t.c
Fixes to get the test suite to run without failures.
mysql-test/r/information_schema.result:
Additional variables available now.
Sort output to avoid depending on engine order.
mysql-test/r/information_schema_all_engines.result:
More variables now.
mysql-test/r/innodb-autoinc.result:
Avoid picking up pbxt variables in result
mysql-test/r/innodb-index.result:
Save state to not corrupt following testcases.
Suppress an expected warning.
mysql-test/r/innodb-zip.result:
Work around a problem with dependency on zlib version
mysql-test/r/innodb.result:
Checksums have changed in Maria.
Save and restore server state to not corrupt following testcases.
mysql-test/r/innodb_bug36169.result:
Save and restore server state to not corrupt following testcases.
mysql-test/r/innodb_xtradb_bug317074.result:
Save and restore server state to not corrupt following testcases.
mysql-test/r/row-checksum-old.result:
Update result file
mysql-test/r/row-checksum.result:
Update result file
mysql-test/t/information_schema.test:
Sort output to avoid depending on engine order.
mysql-test/t/innodb-analyze.test:
Save and restore server state to not corrupt following testcases.
mysql-test/t/innodb-autoinc.test:
Save and restore server state to not corrupt following testcases.
mysql-test/t/innodb-index.test:
Save state to not corrupt following testcases.
Suppress an expected warning.
mysql-test/t/innodb-zip.test:
Work around a problem with dependency on zlib version
mysql-test/t/innodb.test:
Save and restore server state to not corrupt following testcases.
Update --replace statements for new mysql-test-run
mysql-test/t/innodb_bug34300.test:
Save and restore server state to not corrupt following testcases.
mysql-test/t/innodb_bug36169.test:
Save and restore server state to not corrupt following testcases.
mysql-test/t/innodb_bug36172.test:
Save and restore server state to not corrupt following testcases.
mysql-test/t/innodb_xtradb_bug317074.test:
Save and restore server state to not corrupt following testcases.
mysql-test/t/partition_innodb.test:
Fix regexps to work with new SHOW INNODB STATUS output.
mysys/thr_mutex.c:
Initialize mutex deadlock detection lazily.
This allows to test XtraDB, which initializes huge amounts of mutexes without using any but a few of them.
storage/xtradb/ibuf/ibuf0ibuf.c:
Fix problem where value of INNODB_IBUF_MAX_SIZE would depend on the alignment of memory
allocated by the buffer pool.
storage/xtradb/include/sync0rw.h:
Fix XtraDB to compile without GCC atomic operation intrinsics (performance may suffer
when they are not available though).
storage/xtradb/include/sync0rw.ic:
Fix XtraDB to compile without GCC atomic operation intrinsics (performance may suffer
when they are not available though).
storage/xtradb/include/univ.i:
Fix for MariaDB
storage/xtradb/setup.sh:
Remove no longer needed file from XtraDB.
storage/xtradb/srv/srv0start.c:
Fix for MariaDB