- 17 Jun, 2019 4 commits
-
-
Vladislav Vaintroub authored
Do not check my_errno before it is set, check errno instead. Also, do not check errno, if prior pread() did not fail.
-
Vladislav Vaintroub authored
Restore the detection of default charset in command line utilities. It worked up to 10.1, but was broken by Connector/C. Moved code for detection of default charset from sql-common/client.c to mysys, and make command line utilities to use this code if charset was not specified on the command line.
-
Vladislav Vaintroub authored
-
Michael Widenius authored
There was two separate problems: - Aria pagecache didn't properly handle re-reading of blocks that have given errors before (this triggered an assert) - temporary tables that where opened several times where not properly closed in ALTER, REPAIR or OPTIMIZE table Other things - Added a couple of asserts that will make it easier to find problems like this in the future.
-
- 16 Jun, 2019 5 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Avoid unnecessary creation of named objects for invoking mtr_buf_t::for_each_block_in_reverse().
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
- 15 Jun, 2019 2 commits
-
-
Daniel Bartholomew authored
-
Michael Widenius authored
Fixes also MDEV-17837 Problem was that we did not ignore warnings from virtual fields when updated virtual fields for to-be-replaced row.
-
- 14 Jun, 2019 2 commits
-
-
Elena Stepanova authored
-
Sergei Golubchik authored
when copying the TREE, take into account that init_tree can internally adjust tree->size_of_element
-
- 13 Jun, 2019 3 commits
-
-
Oleksandr Byelkin authored
-
Thirunarayanan Balathandayuthapani authored
Problem: ========= One of the purge thread access the corrupted page and tries to remove from LRU list. In the mean time, other purge threads are waiting for same page in buf_wait_for_read(). Assertion(buf_fix_count == 0) fails for the purge thread which tries to remove the page from LRU list. Solution: ======== - Set the page id as FIL_NULL to indicate the page is corrupted before removing the block from LRU list. Acquire hash lock for the particular page id and wait for the other threads to release buf_fix_count for the block. - Added the error check for btr_cur_open() in row_search_on_row_ref().
-
Jan Lindström authored
-
- 12 Jun, 2019 12 commits
-
-
Oleksandr Byelkin authored
-
Marko Mäkelä authored
Before killing the server, ensure that the incomplete state of the transaction will be made durable and will be applied and rolled back on recovery, so that each time, roughly the same amount of work will be done. Remove DML statements after the recovery, and execute CHECK TABLE instead.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Remove the test, because it easily fails with a result difference. Analysis by Thirunarayanan Balathandayuthapani: By default, innodb_encrypt_tables=0. 1) Test case creates 100 tables in innodb_encrypt_1. 2) creates another 100 unencrypted tables (encryption=off) in innodb_encrypt_2 3) creates another 100 encrypted tables (encryption=on) in innodb_encrypt_3 4) enabling innodb_encrypt_tables=1 and checking that only 100 encrypted tables exist. (already we have 100 in dictionary) 5) opening all tables again (no idea why) 6) After that, set innodb_encrypt_tables=0 and wait for 100 tables to be decrypted (already we have 100 unencrypted tables) 7) dropping all databases Sporadic failure happens because after step 4, it could encrypt the normal table too, because innodb_encryption_threads=4. This test was added in MDEV-9931, which was about InnoDB startup being slow due to all .ibd files being opened. There have been a number of later fixes to this problem. Currently the latest one is commit cad56fba, in which some tests (in particular the test innodb.alter_kill) could fail if all InnoDB .ibd files are read during startup. That could make this test redundant. Let us remove the test, because it is big, slow, unreliable, and does not seem to reliably catch the problem that all files are being read on InnoDB startup.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
GCC 9.1.1 noticed that sd_notifyf() was always being invoked with str=NULL argument for "%s". This code was added in commit 2e814d47 but not mentioned in the commit comment. The STATUS messages for systemd matter during startup and shutdown, and should not be emitted during normal operation. ib_senderrf(): Remove the potentially harmful sd_notifyf() calls.
-
sjaakola authored
innodb_locks_unsafe_for_binlog variabe removed from wsrep_info test configuration and recommendation to use this variable in README-wsrep was removed as well Also relates to issue: MDEV-19544
-
Sergey Vojtovich authored
This patch fixes 10.2 issue reported in MDEV-16467 by partial backport of c2118a08. Specifically "Remove not needed LOCK_thread_count from thd_get_error_context_description()".
-
Marko Mäkelä authored
-
Thirunarayanan Balathandayuthapani authored
MDEV-16866 InnoDB fails to start upon crash recovery with "[ERROR] InnoDB: Redo log crypto: failed to decrypt log block" - Post-push fix to change the copyright of both xtradb and innodb file.
-
Thirunarayanan Balathandayuthapani authored
MDEV-16866 InnoDB fails to start upon crash recovery with "[ERROR] InnoDB: Redo log crypto: failed to decrypt log block" - If InnoDB encounters garbage or incomplete written log block during recovery then don't throw the error. Treat it as end of the log. - This kind of incomplete or empty block can be result of killing InnoDB when writing the redo log.
-
Jan Lindström authored
Remove unneeded select to provider name. Provider can have different names and can be located on different directory on different environments.
-
- 11 Jun, 2019 2 commits
-
-
Marko Mäkelä authored
-
Igor Babaev authored
This patch complements the patch that fixes bug MDEV-18479. This patch takes care of possible overflow in JOIN::get_examined_rows().
-
- 10 Jun, 2019 1 commit
-
-
Marko Mäkelä authored
Some I/O functions and macros that are declared in os0file.h used to return a Boolean status code (nonzero on success). In MySQL 5.7, they were changed to return dberr_t instead. Alas, in MariaDB Server 10.2, some uses of functions were not adjusted to the changed return value. Until MDEV-19231, the valid values of dberr_t were always nonzero. This means that some code that was incorrectly checking for a zero return value from the functions would never detect a failure. After MDEV-19231, some tests for ALTER ONLINE TABLE would fail with cmake -DPLUGIN_PERFSCHEMA=NO. It turned out that the wrappers pfs_os_file_read_no_error_handling_int_fd_func() and pfs_os_file_write_int_fd_func() were wrongly returning bool instead of dberr_t. Also the callers of these functions were wrongly expecting bool (nonzero on success) instead of dberr_t. This mistake had been made when the addition of these functions was merged from MySQL 5.6.36 and 5.7.18 into MariaDB Server 10.2.7. This fix also reverts commit 40becbc3 which attempted to work around the problem.
-
- 09 Jun, 2019 1 commit
-
-
Igor Babaev authored
Handling of top level conjuncts in WHERE whose used_tables() contained RAND_TABLE_BIT in the function make_join_select() was incorrect. As a result if such a conjunct referred to fields non of which belonged to the last joined table it was pushed twice. (This could be seen for a test case from subselect.test whose output was changed after this patch had been applied. In 10.1 when running EXPLAIN FORMAT=JSON for the query from this test case we clearly see that one of the conjuncts is pushed twice.) This fact by itself was not good. Besides, if such a conjunct was pushed to a table that was the result of materialization of a semi-join the query could return a wrong result set. In particular we could watch it for queries with semi-join subqueries whose left parts used stored functions without "deterministic' specifier.
-
- 07 Jun, 2019 2 commits
-
-
Sergei Petrunia authored
Make it visible
-
Sergey Vojtovich authored
Those two may work incorrectly together. Namely, ASAN may produce false positives or false negatives. For details see https://github.com/google/sanitizers/wiki/AddressSanitizer#faq Make SECURITY_HARDENED disabled by default if WITH_ASAN=ON Based on contribution by Eugene Kosov.
-
- 06 Jun, 2019 5 commits
-
-
Sergei Golubchik authored
option values now have to be edited in-place, instead of replacing an option with another one that has the same name but a new value.
-
Monty authored
-
Monty authored
- --disable-plugin-load or --skip-plugin-load will now reset plugin load list. Needed for future changes to mtr tests
-
Monty authored
- multiple usage of plugin-load-add and optimizer-switch are now included in generated config files
-
Thirunarayanan Balathandayuthapani authored
Problem: ======= fil_iterate() writes imported tablespace page0 as it is to discarded tablespace. Space id wasn't even changed. While opening the tablespace, tablespace fails with space id mismatch error. Fix: ==== fil_iterate() copies the page0 with discarded space id to imported tablespace.
-
- 05 Jun, 2019 1 commit
-
-
Vladislav Vaintroub authored
messages Force LANG=C for MY_CHECK_{C,CXX}_COMPILER_FLAG
-