- 19 May, 2020 2 commits
-
-
Rasmus Johansson authored
-
Rasmus Johansson authored
-
- 18 May, 2020 2 commits
-
-
Andrei Elkin authored
The assert was caused by early cleanup of a user variable participant in BINLOG @var,@var where it plays twice. That was unexpected by the base code to clear its value prematurely. Fixed with relocating the user var destruction after operations with its value is over.
-
Daniel Black authored
Localhost, depending on the platform can return any 127.0.0.1/8 address.
-
- 15 May, 2020 1 commit
-
-
Alexander Barkov authored
The code erroneously allowed both: INSERT INTO t1 (vcol) VALUES (DEFAULT); INSERT INTO t1 (vcol) VALUES (DEFAULT(non_virtual_column)); The former is OK, but the latter is not. Adding a new virtual method in Item: virtual bool vcol_assignment_allowed_value() const { return false; } Item_null, Item_param and Item_default_value override it. Item_default_value overrides it in the way to: - allow DEFAULT - disallow DEFAULT(col)
-
- 14 May, 2020 4 commits
-
-
Varun Gupta authored
For the case when the optimizer does the IN-EXISTS transformation, the equality condition is injected in the WHERE OR HAVING clause of the subquery. If the select list of the subquery has a reference to the parent select make sure to use the reference and not the original item.
-
Marko Mäkelä authored
On a checksum failure of a ROW_FORMAT=COMPRESSED page, buf_LRU_free_one_page() would invoke buf_LRU_block_remove_hashed() which will read the uncompressed page frame, although it would not be initialized. With bad enough luck, fil_page_get_type(page) could return an unrecognized value and cause the server to abort. buf_page_io_complete(): On the corruption of a ROW_FORMAT=COMPRESSED page, zerofill the uncompressed page frame.
-
Alexander Barkov authored
TRUNCATE(decimal_5_5) erroneously tried to create a DECIMAL(0,0) column. Creating a DECIMAL(1,0) column instead.
-
Alexander Barkov authored
MDEV-22503 MDB limits DECIMAL column precision to 16 doing CTAS with floor/ceil over DECIMAL(X,Y) where X > 16 The DECIMAL data type branch in Item_func_int_val::fix_length_and_dec() incorrectly used DOUBLE-style length calculation, which resulted in a smaller data type than the actual result of FLOOR()/CEIL() needs.
-
- 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 1 commit
-
-
Vladislav Vaintroub authored
Also fix the link to unicode.org repo, it is now on github.
-