- 27 Apr, 2020 10 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
The function wsrep_on() was being called rather frequently in InnoDB and XtraDB. Let us cache it in trx_t and invoke trx_t::is_wsrep() instead. innobase_trx_init(): Cache trx->wsrep = wsrep_on(thd). ha_innobase::write_row(): Replace many repeated calls to current_thd, and test the cheapest condition first.
-
Sergei Golubchik authored
fix embedded innodb_plugin tests followup for 7198c6ab
-
Sergei Golubchik authored
Backport INSALL_SYMLINK cmake macro from 10.3. It'll make libmysqlclient_r.* symlinks to link to the actual shared library file, not to another symlink. As a bonus it'll fix cmake warning about deprecated LOCATION property
-
Marko Mäkelä authored
This is a backport of the applicable part of commit 93475aff and commit 2c39f69d from 10.4. Before 10.4 and Galera 4, WSREP_ON is a macro that points to a global Boolean variable, so it is not that expensive to evaluate, but we will add an unlikely() hint around it. WSREP_ON_NEW: Remove. This macro was introduced in commit c863159c when reverting WSREP_ON to its previous definition. We replace some use of WSREP_ON with WSREP(thd), like it was done in 93475aff. Note: the macro WSREP() in 10.1 is equivalent to WSREP_NNULL() in 10.4. Item_func_rand::seed_random(): Avoid invoking current_thd when WSREP is not enabled.
-
Marko Mäkelä authored
_ma_fetch_keypage(): Correct an assertion that used to always hold. Thanks to clang -Wint-in-bool-context for flagging this. double_to_datetime_with_warn(): Suppress -Wimplicit-int-float-conversion by adding a cast. LONGLONG_MAX converted to double will actually be LONGLONG_MAX+1.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Since commit 7198c6ab the ./mtr --embedded tests would fail to start innodb_plugin because of an undefined reference to the symbol wsrep_log(). Let us define a stub for that function. The embedded server is never built WITH_WSREP, but there are no separate storage engine builds for the embedded server. Hence, by default, the dynamic InnoDB storage engine plugin would be built WITH_WSREP and it would fail to load into the embedded server library due to a reference to the undefined symbol.
-
- 24 Apr, 2020 3 commits
-
-
Eugene Kosov authored
read TLS with my_thread_var write TLS with set_mysys_var() my_thread_var is no longer __attribute__ ((const)): this attribute is simply incorrect here. Read gcc manual for more information. sql/threadpool_generic.cc fails with that attribute.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
row_vers_vc_matches_cluster(): Remove the parameter in_purge, which was always passed as in_purge=true. This parameter became constant in mysql/mysql-server@1dec14d346ac55fe72989dccb071f84b3b0d3bd6 and it always was constant in MariaDB starting from the introduction of the function in commit 2e814d47 (MariaDB 10.2.2).
-
- 23 Apr, 2020 3 commits
-
-
Marko Mäkelä authored
row_prebuilt_free(): Do not attempt to drop orphan indexes that might have been left behind by a failed ADD UNIQUE INDEX. This avoids the execution of unwanted transactions during shutdown.
-
Elena Stepanova authored
-
Marko Mäkelä authored
mysqld_exit(): Change the assertion failure on global_status_var.global_memory_used == 0 to fprintf, like in 0bcb65d3 It appears that in some cases, that variable may be nonzero even when LeakSanitizer (WITH_ASAN) would not report errors. This was observed in 10.4 88cf6f1c with the MDEV-22348 test case (Aria startup failure when running main.default_storage_engine).
-
- 22 Apr, 2020 5 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Jan Lindström authored
Test do we have galera debug library with debug_sync functionality needs to be earlier.
-
Otto Kekäläinen authored
Also add a check for tmp file being empty and bail out with a clear error message in such a case, as mysqld_safe prevents normal stderr from being displayed anywhere and would fail silently on this.
-
Jan Lindström authored
MDEV-22181 : galera.galera_sst_mysqldump_with_key MTR failed: INSERT failed: 1146: Table 'test.t1' doesn't exist Add wait condition to make sure table test.t1 is replicated to node_2 before we insert to it.
-
- 21 Apr, 2020 1 commit
-
-
Vlad Lesin authored
config. The solution is to read the system variable value on startup and to fill databases_exclude_hash. xb_load_list_string() became non-static and was reformatted. The system variable value is read and processed in get_mysql_vars(), which was also reformatted.
-
- 20 Apr, 2020 1 commit
-
-
Anel Husakovic authored
Patches of interest:374dae3e, 374dae3e
-
- 18 Apr, 2020 6 commits
-
-
Monty authored
Backported fix from 10.5
-
Monty authored
Part of: MDEV-21056 Assertion `global_status_var.global_memory_used == 0' failed upon shutdown after query with DEFAULT on a geometry field Fixed by changing the ASSERT for memory leaks to a printf() on stderr. This has needed as all mutex in mysys has been deleted and we can't call functions like my_open() anymore. Also added printing of leaks if safemalloc is used (like we do in 10.5)
-
Monty authored
- Remove memory leaks reported by safemalloc - Changed that all 0x strings are converted. This is needed to easily be able to resolve safemalloc backtraces
-
Monty authored
MDEV-21056 Assertion `global_status_var.global_memory_used == 0' failed upon shutdown after query with DEFAULT on a geometry field
-
Monty authored
MDEV-22275 Assertion `global_status_var.global_memory_used == 0' failed, bytes lost, or LeakSanitizer: detected memory leaks after using temporary table with fulltext key This affected MyISAM and Aria temporary tables
-
Monty authored
-
- 17 Apr, 2020 3 commits
-
-
Marko Mäkelä authored
maria_page_crc_check_index(): Do not attempt to convert HA_ERR_WRONG_CRC (176) to my_bool (char). On platforms where char is signed, the 176 will be converted to -80. It turns out that the callers only care whether the result is zero. Let us return 1 in this case, like we do in all other error cases.
-
Marko Mäkelä authored
Several tests that involve stored procedures fail on 10.4 kvm-asan (clang 10) due to stack overrun. The main contributor to this stack overrun is mysql_execute_command(), which is invoked recursively during stored procedure execution. Rebuilding with cmake -DWITH_WSREP=OFF shrunk the stack frame size of mysql_execute_command() by more than 10 kilobytes in a WITH_ASAN=ON, CMAKE_BUILD_TYPE=Debug build. The culprit turned out to be the macro WSREP_LOG, which is allocating a separate 1KiB buffer for every occurrence. We replace the macro with a function, so that the stack will be allocated only when the function is actually invoked. In this way, no stack space will be wasted by default (when WSREP and Galera are disabled). This backports commit b6c5657e from MariaDB 10.3.1. Without ASAN, compilers can be smarter and optimize the stack usage. The original commit message mentions that 1KiB was saved on GCC 5.4, and 4KiB on Mac OS X Lion, which presumably uses a clang-based compiler.
-
Kentoku SHIBA authored
-
- 16 Apr, 2020 3 commits
-
-
Kentoku SHIBA authored
-
Varun Gupta authored
-
Varun Gupta authored
-
- 15 Apr, 2020 5 commits
-
-
Eugene Kosov authored
tests are: engines/funcs.jp_comment_column engines/funcs.jp_comment_index engines/funcs.jp_comment_table
-
Marko Mäkelä authored
-
Marko Mäkelä authored
After MDEV-12353, the consistency check that I originally added for commit 1b9fe0bb (InnoDB Plugin for MySQL 5.1) started randomly failing. It turns out that the IMPORT TABLESPACE code was always incorrect: it did not update the (redundantly stored) tablespace ID in index tree root pages. It only does that for page headers and BLOB pointers. PageConverter::update_index_page(): Update the tablespace ID in the BTR_SEG_TOP and BTR_SEG_LEAF of index root pages. This is a backport of commit b8b3edff.
-
Marko Mäkelä authored
For some reason, when mbstream is compiled with GCC 10, ld will fail to link it due to a multiple definition of datasink_buffer. The code appears to have been like that since the very beginning. Let us remove the duplicate dummy definition.
-
Marko Mäkelä authored
-