- 11 May, 2020 2 commits
-
-
Oleksandr Byelkin authored
-
Daniel Bartholomew authored
-
- 08 May, 2020 3 commits
-
-
Marko Mäkelä authored
Let us limit the maximum value of the debug parameter innodb_data_file_size to 256 MiB. It is only being used in the test innodb.log_data_file_size, and the size of the system tablespace should never exceed some 70 MiB in ./mtr. Thus, 256 MiB should be a reasonable limit. The fact that negative values that are passed to unsigned parameters wrap around to the maximum value appears to be a regression due to commit 18ef02b0 and has been filed as bug MDEV-22219.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
under LOCK TABLES we still have to open everything, otherwise DML prelocking will try to take an MDL on a table that wasn't in the LOCK TABLES list.
-
- 07 May, 2020 1 commit
-
-
Marko Mäkelä authored
The InnoDB insert buffer was upgraded in MySQL 5.5 into a change buffer that also covers delete-mark and delete (purge) operations. There is an important constraint for delete operations: a B-tree leaf page must not become empty unless the entire tree becomes empty, consisting of an empty root page. Because change buffer merges only occur on a single leaf page at a time, delete operations must not be buffered if it is possible that the last record of the page could be deleted. (In that case, we would refuse to use the change buffer, and if we really delete the last record, we would shrink the index tree.) The function ibuf_get_volume_buffered_hash() is part of our insurance that the page would not become empty. It is supposed to map each buffered INSERT or DELETE_MARK record payload into a hash value. We will only count each such record as a distinct key if there is no hash collision. DELETE operations will always decrement the predicted number fo records in the page. Due to a bug in the function, we would actually compute the hash value not only on the record payload, but also on some following bytes, in case the record contains NULL values. In MySQL Bug #61104, we had some examples of this dating back to 2012. But back then, we failed to reproduce the bug, and in commit d84c9557 we simply demoted the hard assertion to a message printout and a debug assertion failure. ibuf_get_volume_buffered_hash(): Correctly compute the hash value of the payload bytes only. Note: we will consider ('foo','bar'),(NULL,'foobar'),('foob','ar') to be equal, but this is not a problem, because in case of a hash collision, we could also consider ('boo','far') to be equal, and underestimate the number of records in the page, leading to refusing to buffer a DELETE.
-
- 06 May, 2020 6 commits
-
-
Vladislav Vaintroub authored
-
Sergei Golubchik authored
only MDL-prelock but do not open FK child tables for read-only (RESTRICT) FK actions. Tables still needs to be opened for CASCADE actions, see 9180e866
-
Sergei Golubchik authored
-
Anel Husakovic authored
-
Marko Mäkelä authored
We must ensure that the NUL will not terminate the query string.
-
Marko Mäkelä authored
Replace the 30-second sleep in the test with proper DEBUG_SYNC interlocking.
-
- 05 May, 2020 2 commits
-
-
Sergei Golubchik authored
MDEV-21437 MariaDB's SUSE/SLES packages don't "provide" all of the same capabilities as the platform's default packages
-
Vladislav Vaintroub authored
-
- 04 May, 2020 4 commits
-
-
Elena Stepanova authored
-
Rasmus Johansson authored
-
Rasmus Johansson authored
-
Thirunarayanan Balathandayuthapani authored
FOREIGN_KEY_CHECKS is disabled - Referenced index can be null While renaming the referenced column name. In that case, rename the referenced column name in dict_foreign_t and find the equivalent referenced index.
-
- 30 Apr, 2020 12 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Sergei Golubchik authored
queues.c cleanup and refactoring. Restore old version of _downhead() (from before cd483c55) that works well in an average case. Use it for queue_fix(). Move existing specialized version of _downhead() to queue_replace() where it'll be handling the case it was specifically optimized for (moving the element to the end of the queue). And correct it to fix the heap not only down, but also up (this fixes BUG#30301356). Add unit tests. Collateral cosmetic fixes.
-
Sergei Golubchik authored
CONCAT_WS didn't have it
-
Anushree Prakash B authored
DESCRIPTION: ============ There can be issues if the packets sent by the server are not proper. Certain checks should be performed at the client side while unpacking fields data. FIX: ==== Check for the appropriate fields data and error out if it is not present. RB: 23601
-
Sivert Sorumgard authored
The event scheduler has a THD which is used for e.g. keeping track of the timing of the events. Thus, each scheduling of an event will make use of this THD, which in turn allocates memory in the THD's mem root. However, the mem root was never cleared, and hence, the memory occupied would monotonically increase throughout the life time of the server. The root cause was found by Jon Olav Hauglid, and this fix clears the THD's mem root for each event being scheduled. Change-Id: I462d2b9fd9658c9f33ab5080f7cd0e0ea28382df
-
Sergei Golubchik authored
in fact, in MariaDB it cannot, but it can show spurious slaves in SHOW SLAVE HOSTS. slave was registered in COM_REGISTER_SLAVE and un-registered after COM_BINLOG_DUMP. If there was no COM_BINLOG_DUMP, it would never unregister.
-
Daniel Black authored
Fix mtr error: Bareword "HAVE_WIN32_CONSOLE" not allowed while "strict subs" in use at mysql-test-run.pl line 387. Execution of mysql-test-run.pl aborted due to compilation errors. Added in e3f5789a
-
- 29 Apr, 2020 7 commits
-
-
Vladislav Vaintroub authored
Also fix the link to unicode.org repo, it is now on github.
-
Vladislav Vaintroub authored
Port this functionality from to Windows. It requires Win32::Console module, which is already included into Strawberry perl
-
Sergei Golubchik authored
-
Sergei Golubchik authored
test case
-
Maheedhar PV authored
Cause: In case of version based condtional comments, if the condition evaluates to false, it is converted to a regular comment for replication by replacing "!" by " ". Nested comment in a conditional comment is replicated as is. Nested comments are supported only in case of conditional comments and when a the comment on slave is no more a conditional comment, the statement execution fails on the slave. Fix: Convert the nested comment, start from "/*" to "(*" and comment end from "*/" to "*)" for replication. Change-Id: I1a8e385a267b2370529eade094f0258fa96886c0
-
Sergei Golubchik authored
-
Daniel Black authored
-
- 28 Apr, 2020 3 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Several MYSQL_SYSVAR_STR parameters that employ both a validate function callback fail to copy the string for saving the validated value. The affected variables include the following: innodb_ft_aux_table innodb_ft_server_stopword_table innodb_ft_user_stopword_table innodb_buffer_pool_filename The test case is an enhanced version of mysql/mysql-server@0b0c30641fd66336e87394ac28587e40864f8af9 and the code changes are inspired by their fixes. We are also importing and adjusting the test innodb_fts.stopword to get coverage for the variable innodb_ft_user_stopword_table. buf_dump(), buf_load(): Protect srv_buf_dump_filename with LOCK_global_system_variables. fts_load_user_stopword(): Minor cleanup fts_load_stopword(): Remove the parameter global_stopword_table. innobase_fts_load_stopword(): Protect innodb_server_stopword_table against concurrent SET GLOBAL.
-
Marko Mäkelä authored
innodb_buffer_pool_evict_uncompressed(): Restart the loop when prev_block might not enjoy mutex protection. This is based on mysql/mysql-server@eccaecac070b6747ecf14d6b9150791f8c3e8f6d
-