- 27 Apr, 2020 5 commits
-
-
Sergei Golubchik authored
when opening the `user` table separately, reset `thd->open_tables` for the duration of open, otherwise auto-repair fallback-and-retry will close *all* tables (but reopen only `user`)
-
Sergei Golubchik authored
only use auth1 update (no "auth_or":[]) array, if there was no "auth_or" array in the json yet.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
support upgrades from 5.2 privilege tables
-
Sergei Golubchik authored
revert/simplify f5390eea remove galera-specific checks from mtr and the main suite
-
- 26 Apr, 2020 1 commit
-
-
Monty authored
MDEV-18286 Assertion `pagecache->cnt_for_resize_op == 0' failed in check_pagecache_is_cleaned_up on server shutdown The reason for the crash is that the counter-of-pinned-pages in the Aria pagecache goes wrong. This only affects debug builds, as in these we do an assert on shutdown if the counter-of-pinned-pages is not 0 (some page was left pinned). The bug was that in 2 places in the page cache, when not succeeding to pin a page and a retry was made, the counter-of-pinned-pages counter was not properly adjusted. In the given test case, BLOCK_COMMIT flushed all Aria files. If a block was flushed at the same time the insert tried to access it, the insert would retry to get the block and that would cause the counter to go wrong.
-
- 24 Apr, 2020 5 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
The reason why we have wsrep_on() at all is that the macro WSREP(thd) depends on the definition of THD, and that is intentionally an opaque data type for InnoDB. So, we cannot avoid invoking wsrep_on(), but we can evaluate the less expensive conditions thd && WSREP_ON before calling the function. Global_read_lock: Use WSREP_NNULL(thd) instead of wsrep_on(thd) because we not only know the definition of THD but also that the pointer is not null. wsrep_open(): Use WSREP(thd) instead of wsrep_on(thd). InnoDB: Replace thd && wsrep_on(thd) with wsrep_on(thd), now that the condition has been merged to the definition of the macro wsrep_on().
-
Marko Mäkelä authored
If the server is compiled WITH_WSREP=OFF, we should avoid evaluating conditions on a global variable that is constant. WSREP_ON_: Renamed from WSREP_ON. Defined only WITH_WSREP=ON. WSREP_ON: Defined as unlikely(WSREP_ON_). wsrep_on(): Defined as WSREP_ON && wsrep_service->wsrep_on_func(). The reason why we have wsrep_on() at all is that the macro WSREP(thd) depends on the definition of THD, and that is intentionally an opaque data type for InnoDB. So, we cannot avoid invoking wsrep_on(), but we can evaluate the less expensive condition WSREP_ON before calling the function.
-
Jan Lindström authored
Replaced WSREP_ON macro by single global variable WSREP_ON that is then updated at server statup and on wsrep_on and wsrep_provider update functions.
-
- 23 Apr, 2020 2 commits
- 22 Apr, 2020 7 commits
-
-
Marko Mäkelä authored
-
Kentoku SHIBA authored
Fix a test result.
-
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 7 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
-
Teemu Ollakka authored
If a transaction had no effect due to INSERT IGNORE and a new transaction was started with START TRANSACTION without committing the previous one, the server crashed on assertion when starting a new wsrep transaction. As a fix, refined the condition to do wsrep_commit_empty() at the end of the ha_commit_trans().
-
- 17 Apr, 2020 6 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
MDEV-20502 Queries against spider tables return wrong values for columns following constant declarations. When executing a query like "select id, 0 as const, val from ...", there are 3 columns(items) in Query->select at handlerton->create_group_by(). After that, MariaDB makes a temporary table with 2 columns. The skipped items are const item, so fixing Spider to skip const items for items at Query->select.
-
Kentoku SHIBA authored
-
Teemu Ollakka authored
- Made WSREP_LOG a function and moved the body out of header. - Reduced the stack allocated buffer size and implemented reprint into dynamically allocated buffer if stack buffer is not large enough to hold the message.
-
Kentoku SHIBA authored
-
- 16 Apr, 2020 4 commits
-
-
Kentoku SHIBA authored
-
Varun Gupta authored
-
Marko Mäkelä authored
In main.index_merge_myisam we remove the test that was added in commit a2d24def because it duplicates the test case that was added in commit 5af12e46.
-
Varun Gupta authored
-
- 15 Apr, 2020 1 commit
-
-
Sergey Vojtovich authored
-