summaryrefslogtreecommitdiff
path: root/dbug
Commit message (Collapse)AuthorAgeFilesLines
* Merge bb-10.2-ext into 10.3Marko Mäkelä2017-10-041-2/+2
|\
| * MDEV-13844 : Fix Windows warnings. Fix DBUG_PRINT.Vladislav Vaintroub2017-09-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | - Fix win64 pointer truncation warnings (usually coming from misusing 0x%lx and long cast in DBUG) - Also fix printf-format warnings Make the above mentioned warnings fatal. - fix pthread_join on Windows to set return value.
* | Make debug multi thread safeMonty2017-09-081-25/+87
| | | | | | | | | | Fixes crashes in InList when calling _db_set_init (part of SET debug_dbug in the test suite) from another thread.
* | Added DBUG_ASSERT_AS_PRINTF compile flagMonty2017-08-241-1/+20
|/ | | | | | | | | | | | | | | | | | If compiling a non DBUG binary with -DDBUG_ASSERT_AS_PRINTF asserts will be changed to printf + stack trace (of stack trace are enabled). - Changed #ifndef DBUG_OFF to #ifdef DBUG_ASSERT_EXISTS for those DBUG_OFF that was just used to enable assert - Assert checking that could greatly impact performance where changed to DBUG_ASSERT_SLOW which is not affected by DBUG_ASSERT_AS_PRINTF - Added one extra option to my_print_stacktrace() to get more silent in case of stack trace printing as part of assert.
* Merge branch '10.1' into 10.2Sergei Golubchik2017-03-301-1/+1
|\
| * MDEV-11752 Unsafe strmov - function definition in include/m_string.hSergei Golubchik2017-03-101-1/+1
| | | | | | | | | | assert that strmov() cannot be used on overlapping strings. (because strpcpy cannot)
* | Fix many -Wconversion warnings.Marko Mäkelä2017-03-071-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define my_thread_id as an unsigned type, to avoid mismatch with ulonglong. Change some parameters to this type. Use size_t in a few more places. Declare many flag constants as unsigned to avoid sign mismatch when shifting bits or applying the unary ~ operator. When applying the unary ~ operator to enum constants, explictly cast the result to an unsigned type, because enum constants can be treated as signed. In InnoDB, change the source code line number parameters from ulint to unsigned type. Also, make some InnoDB functions return a narrower type (unsigned or uint32_t instead of ulint; bool instead of ibool).
* | MDEV-11611 fix Ninja buildSergei Golubchik2017-01-291-2/+2
| | | | | | | | ninja doesn't like when a dummy target name matches a generated file name
* | MDEV-11713 Optimize DBUG_PRINT and introduce DBUG_LOGMarko Mäkelä2017-01-051-18/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | MariaDB Server is unnecessarily evaluating the arguments of DBUG_PRINT() macros when the label is not defined. The macro DBUG_LOG() for C++ operator<< output which was added for InnoDB diagnostics in MySQL 5.7 is missing from MariaDB. Unlike the MySQL 5.7 implementation, MariaDB will avoid allocating and initializing the output string when the label is not defined. Introduce DBUG_OUT("crypt") and DBUG_OUT("checksum") for some InnoDB diagnostics, replacing some use of ib::info().
* | Add C/C as a submodule in libmariadb/Sergei Golubchik2016-09-121-2/+2
|/ | | | | | also * fix includes * rename cmake macros and targets to avoid name clashes
* dbug: correct trace for DBUG_RETURN(func()); -- gcc onlySergei Golubchik2015-11-161-3/+7
| | | | | | | | | | | when func1 calls func2 from DBUG_RETURN, dbug shows the trace as | > func1 | < func1 | > func2 | < func2 because DBUG_LEAVE happens before func2(). Change that to invoke DBUG_LEAVE when the local variable goes out of scope. This uses gcc specific __attribute__((cleanup)).
* MDEV-6410 Cross-compile fixesSergei Golubchik2014-07-081-7/+9
|\ | | | | | | https://code.launchpad.net/~chewi/maria/mysql-fix-bug61340/+merge/217351
| * MySQL Bug #61340: Use CMake EXPORT feature to aid cross-compiling.James Le Cuirot2014-04-271-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This technique is documented at: http://www.cmake.org/Wiki/CMake_Cross_Compiling#Using_executables_in_the_build_created_during_the_build Basic steps are: # mkdir native cross # cd native # cmake /path/to/maria # make IMPORT_EXECUTABLES # cd ../cross # cmake -DCMAKE_TOOLCHAIN_FILE=foo -DIMPORT_EXECUTABLES=/path/to/native/import_executables.cmake /path/to/maria # make
* | 5.5.38 mergeSergei Golubchik2014-06-061-0/+2
|\ \ | |/ |/|
| * cmake: mark AIO_LIBRARY, EVENT_LIBRARY, GROFF, NROFF as advanced;Sergei Golubchik2014-06-031-0/+2
| | | | | | | | use -ggdb3 if supported
* | 5.5 mergeSergei Golubchik2014-03-261-0/+1
|\ \ | |/
| * MDEV-5913 Windows: 10.0 crashes on shutdownSergei Golubchik2014-03-241-0/+1
| | | | | | | | | | add pthread_mutex_destroy(&THR_LOCK_dbug); that was apparently forgotten since the very first MySQL version
* | 10.0-base merge.Sergei Golubchik2013-09-211-0/+1
|\ \ | |/ | | | | | | Partitioning/InnoDB changes are *not* merged (they'll come from 5.6) TokuDB does not compile (not updated to 10.0 SE API)
| * MDEV-4815 - allow multiple mysql_server_init() / mysql_server_end() in the ↵Vladislav Vaintroub2013-07-291-0/+1
| | | | | | | | | | | | | | | | same process, for embedded library. - Reset static variables that are used to signal "init done" for DBUG, in dbug_end() - Set string server variables to NULL after memory for the value is freed - avoids double free() - fix DBUG_ASSERTs that happened during reinitialization.
* | Temporary commit of 10.0-mergeMichael Widenius2013-03-261-2/+2
|/
* remove duplicate code from the factorial dbug exampleSergei Golubchik2012-08-231-14/+0
|
* Fixed compiler warnings (A few of these was bugs)Michael Widenius2012-08-131-3/+0
| | | | | | | | | | | | | | | | | | | client/mysqldump.c: Slave needs to be initialized with 0 dbug/dbug.c: Removed not existing function plugin/semisync/semisync_master.cc: Fixed compiler warning sql/opt_range.cc: thd needs to be set early as it's used in some error conditions. sql/sql_table.cc: Changed to use uchar* to make array indexing portable storage/innobase/handler/ha_innodb.cc: Removed not used variable storage/maria/ma_delete.c: Fixed compiler warning storage/maria/ma_write.c: Fixed compiler warning
* Fixed compile warningsMichael Widenius2012-05-181-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed some mtr test problems dbug/tests.c: Fixed compiler warnings mysql-test/r/handlersocket.result: Fixed that plugin_license is written mysql-test/suite/innodb/t/innodb_bug60196.test: Force sorted results as it was sometimes different on windows mysql-test/suite/rpl/t/rpl_heartbeat_basic.test: Prolong test as this failed on windows mysql-test/t/handlersocket.test: Fixed that plugin_license is written plugin/handler_socket/handlersocket/handlersocket.cpp: Use maria_declare_plugin plugin/handler_socket/handlersocket/mysql_incl.hpp: Fixed compiler warning plugin/handler_socket/libhsclient/auto_addrinfo.hpp: Fixed compiler warning sql/handler.h: Fixed typo sql/sql_plugin.cc: Fixed bug that caused plugin library name twice in error message storage/maria/ma_checkpoint.c: Fixed compiler warning storage/maria/ma_loghandler.c: Fixed compiler warning unittest/mysys/base64-t.c: Fixed compiler warning unittest/mysys/bitmap-t.c: Fixed compiler warning unittest/mysys/my_malloc-t.c: Fixed compiler warning
* Fixed some simple warnings on Windows.Vladislav Vaintroub2012-04-131-2/+3
|
* Fix build on OSXVladislav Vaintroub2012-04-121-2/+2
| | | | | | | - Workaround linker bug that prevents linking aria test executables using -fno-common on OSX - Skip system readline detection (OSX readline is incompatible one) - Make Xcode generator work
* fix a memory leak in dbugSergei Golubchik2012-03-241-1/+11
|
* mdev-200 set session dbug resets the output to stderr.Sergei Golubchik2012-03-231-87/+90
| | | | | | | it makes "./mtr --debug" unusable revert the mysql fix for bug#46165. implement shared FILE's with reference counting
* Merge latest MariaDB 5.5 into MWL#192: Non-blocking client library.unknown2012-02-221-0/+4
|\
| * Fix memory leak when one +O debug on top of another.unknown2012-02-081-0/+4
| |
* | Merge MWL#192: Non-blocking client library, into MariaDB 5.5.unknown2012-02-211-0/+21
|\ \ | |/ |/|
| * MWL#192: Non-blocking client API for libmysqlclient.unknown2011-09-201-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All client functions that can block on I/O have alternate _start() and _cont() versions that do not block but return control back to the application, which can then issue I/O wait in its own fashion and later call back into the library to continue the operation. Works behind the scenes by spawning a co-routine/fiber to run the blocking operation and suspend it while waiting for I/O. This co-routine/fiber use is invisible to applications. For i368/x86_64 on GCC, uses very fast assembler co-routine support. On Windows uses native Win32 Fibers. Falls back to POSIX ucontext on other platforms. Assembler routines for more platforms are relatively easy to add by extending mysys/my_context.c, eg. similar to the Lua lcoco library. For testing, mysqltest and mysql_client_test are extended with the option --non-blocking-api. This causes the programs to use the non-blocking API for database access. mysql-test-run.pl has a similar option --non-blocking-api that uses this, as well as additional testcases. An example program tests/async_queries.c is included that uses the new non-blocking API with libevent to show how, in a single-threaded program, to issue many queries in parallel against a database. client/async_example.c: Fix const warning ****** Fix bug with wrong timeout value for poll(). include/Makefile.am: Fix missing include for `make dist` include/mysql.h: Add prototypes for all non-blocking API calls. include/mysql.h.pp: Add prototypes for all non-blocking API calls. mysys/my_context.c: Fix type warning for makecontext() function pointer argument. sql-common/mysql_async.c: Fix crashes in the non-blocking API for functions that can take MYSQL argument that is NULL. tests/Makefile.am: Add header file to `make dist` tests/mysql_client_test.c: Replace blocking calls with wrappers around the non-blocking calls, used in mysql_client_test to test the new non-blocking API. tests/nonblock-wrappers.h: Replace blocking calls with wrappers around the non-blocking calls, used in mysql_client_test to test the new non-blocking API.
* | 5.3 mergeSergei Golubchik2012-01-131-1/+1
|\ \
| * \ Merge with 5.2.Michael Widenius2011-12-111-1/+1
| |\ \ | | | | | | | | | | | | no_error handling for select (used by INSERT ... SELECT) still needs to be fixed, but I will do that in a separate commit
| | * | Fixed compiler warningsMichael Widenius2011-11-301-1/+1
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dbug/tests.c: Added __attribute__((unused)) to get rid of compiler warning server-tools/instance-manager/guardian.cc: Added __attribute__((unused)) to get rid of compiler warning sql/filesort.cc: Added __attribute__((unused)) to get rid of compiler warning sql/slave.cc: Added __attribute__((unused)) to get rid of compiler warning sql/sql_load.cc: Added __attribute__((unused)) to get rid of compiler warning sql/sql_table.cc: Added __attribute__((unused)) to get rid of compiler warning storage/maria/ma_blockrec.c: Added __attribute__((unused)) to get rid of compiler warning storage/maria/ma_check.c: Added missing cast storage/maria/ma_loghandler.c: Added __attribute__((unused)) to get rid of compiler warning storage/maria/ma_recovery.c: Added __attribute__((unused)) to get rid of compiler warning storage/pbxt/src/cache_xt.cc: Added __attribute__((unused)) to get rid of compiler warning storage/xtradb/fil/fil0fil.c: Removed not used variable storage/xtradb/handler/ha_innodb.cc: Use unused variable vio/viosocket.c: Remove usage of not used variable vio/viosslfactories.c: Added cast
* | | fixes for opensolaris compilation failuresSergei Golubchik2012-01-051-0/+10
| | |
* | | move safemalloc out of dbug.Sergei Golubchik2011-12-126-396/+19
| | | | | | | | | | | | | | | | | | remeber a real backtrace for every allocation. make safemalloc to tract C++ new/delete too. collateral fixes to make the test suite pass.
* | | Make it possible to compile without SAFEMALLOC in debug buildsVladislav Vaintroub2011-12-022-1/+23
| | | | | | | | | | | | | | | | | | Default to no SAFEMALLOC on Windows, because C runtime malloc has this functionslity already
* | | mergeSergei Golubchik2011-11-032-8/+8
|\ \ \
| * | | build on windowsSergei Golubchik2011-11-022-11/+8
| | | |
* | | | mysql-5.5.18 mergeSergei Golubchik2011-11-034-8/+16
|\ \ \ \ | |/ / / |/| | |
| * | | Bug#12779790 COMPILATION FAILS OS X 10.7 - IMPLICIT DECLARATION OFJon Olav Hauglid2011-07-213-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FUNCTION 'PTHREAD_INIT' The problem was that compilation would fail with a warning: Implicit declaration of function 'pthread_init' if MySQL was compiled on OS X 10.7 (Lion). The reason was that pthread_init() is now part of an internal OS X pthread library so it was found by CMake. This patch fixes the problem by removing HAVE_PTHREAD_INIT and related code. pthread_init() was specific to MIT-pthreads which has not been supported since 4.1 and was therefore no longer relevant. No test case added.
| * | | Bug#12727287: Maintainer mode compilation fails with gcc 4.6Davi Arnaut2011-07-071-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC 4.6 has new -Wunused-but-set-variable flag, which is enabled by -Wall, that causes GCC to emit a warning whenever a local variable is assigned to, but otherwise unused (aside from its declaration). Since the maintainer mode uses -Wall and -Werror, source code which triggers these warnings will be rejected. That is, these warnings become hard errors. The solution is to fix the code which triggers these specific warnings. In most of the cases, this is a welcome cleanup as code which triggers this warning is probably dead anyway. dbug/dbug.c: Unused but set. libmysqld/lib_sql.cc: Length is not necessary as the converted error message is always null-terminated. sql/item_func.cc: Make get_var_with_binlog private to this compilation unit. If a error was raised, do not attempt to evaluate the user variable as the statement execution will be interrupted anyway. sql/mysqld.cc: Use a void expression to silence the warning. Avoids the use of macros that would make the code more unreadable than it already is. sql/protocol.cc: Length is not necessary as the converted error message is always null-terminated. Remove unnecessary casts and assignment. sql/sql_class.h: Function is only used in a single compilation unit. sql/sql_load.cc: Only use the variable outside of EMBEDDED_LIBRARY. storage/innobase/btr/btr0cur.c: Do not retrieve field, only the record length is being used. storage/perfschema/pfs.cc: Use a void expression to silence the warning. tests/mysql_client_test.c: Unused but set. unittest/mysys/lf-t.c: Unused but set.
| * | | Updated/added copyright headersKent Boortz2011-06-301-2/+3
| |\ \ \
* | | | | ignore troff failures - they are not fatalSergei Golubchik2011-10-281-2/+2
| | | | |
* | | | | cmake 2.6 compatSergei Golubchik2011-10-191-1/+1
| | | | |
* | | | | merge with 5.3Sergei Golubchik2011-10-192-18/+2
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sql/sql_insert.cc: CREATE ... IF NOT EXISTS may do nothing, but it is still not a failure. don't forget to my_ok it. ****** CREATE ... IF NOT EXISTS may do nothing, but it is still not a failure. don't forget to my_ok it. sql/sql_table.cc: small cleanup ****** small cleanup
| * | | | Merge with 5.2Michael Widenius2011-03-092-1/+19
| |\ \ \ \ | | | |_|/ | | |/| |
| | * | | Merge with MySQL 5.1.55Michael Widenius2011-02-202-1/+19
| | |\ \ \ | | | | |/ | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fixed some issues with partitions and connection_string, which also fixed lp:716890 "Pre- and post-recovery crash in Aria" - Fixed wrong assert in Aria Now need to merge with latest xtradb before pushing sql/ha_partition.cc: Ensure that m_ordered_rec_buffer is not freed before close. sql/mysqld.cc: Changed to use opt_stack_trace instead of opt_pstack. Removed references to pstack sql/partition_element.h: Ensure that connect_string is initialized storage/maria/ma_key_recover.c: Fixed wrong assert
| * | | | Fixed compiler warnings and some test failures found by buildbotMichael Widenius2011-02-231-3/+3
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dbug/dbug.c: Fixed compiler warnings on windows mysql-test/r/index_intersect_innodb.result: Don't print number of rows as this varies mysql-test/suite/funcs_1/r/processlist_val_no_prot.result: Update to use new State mysql-test/suite/handler/heap.result: Update results mysql-test/suite/handler/heap.test: Changed key used in test as the key 'b' will not guarantee order of the two last elements (as the key value is the same) mysql-test/suite/pbxt/r/lock_multi.result: Update to use new State mysql-test/t/index_intersect.test: Don't print number of rows as this varies mysql-test/valgrind.supp: Added suppression for linux mysys/hash.c: Fixed compiler warnings on windows plugin/handler_socket/handlersocket/database.cpp: Fixed compiler warnings sql-common/client_plugin.c: Changed variable to define to avoid compiler warnings when variable is not used sql-common/my_time.c: Initialize all my_time elements to avoid compiler warnings storage/oqgraph/ha_oqgraph.cc: Use right function (to avoid compiler warning) storage/pbxt/src/table_xt.cc: Initialize variables (to avoid compiler warnings)
| * | | Bug#473914: mysql_client_test fail with in debug compilaton on windows x64Vladislav Vaintroub2010-12-061-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reason: inconsistent compilation, federatedx is compiled without SAFEMALLOC flag, while anything else is compiled with SAFEMALLOC. As a consequence, my_hash_init used inside federatedx initialization does not provide correct caller info parameters (file, line) , so they are initialized with whatever is on stack. When info about allocated memory is output in COM_DEBUG command, the server crashes trying to output string starting at 0xcccccccccccccccc. The fix is to remove SAFEMALLOC preprocessor flags from every CMakeLists.txt, except the top-level one. Also, SAFEMALLOC is not defined by default now, instead there is WITH_DEBUG_FULL CMake option which adds -DSAFEMALLOC to C and C++ flags in debug compilation. This option is off by default, because 1) Debug C runtime already has heap debugging builtin with overwrite and leak detection 2)safemalloc considerably slows down the tests. Note also that - SAFEMALLOC is gone in MySQL5.5 - On Windows, heap related overflows can also be found using free pageheap utility (that is also part of application verifier). This is even more efficient if there are no other layers on top of Windows heap allocator, e.g it is most efficient with release version.