- 10 Oct, 2018 1 commit
-
-
Marko Mäkelä authored
The test is shutting down InnoDB, corrupting a file, and finally restarting InnoDB. Before the shutdown, the test created the table and inserted some records. Before MDEV-12288, there would be no access to the table after server restart, but after MDEV-12288 purge would reset the transaction identifier after the INSERT, and this would sometimes happen after the restart. To make the test deterministic, wait for purge to complete before the shutdown.
-
- 09 Oct, 2018 1 commit
-
-
Marko Mäkelä authored
-
- 08 Oct, 2018 4 commits
-
-
Thirunarayanan Balathandayuthapani authored
table for purge thread Problem: ======= Purge tries to fetch mdl lock for the whole table even though it tries to open one of the partition. But table name length was wrongly set to indicate the partition name too. Solution: ======== - Table name length should identify the table name only not the partition name.
-
Igor Babaev authored
and join_cache_level=6 This bug was fixed by the patch for mdev-17382 applied to 5.5.
-
Igor Babaev authored
derived table / view by equality Now rows of a materialized derived table are always put into a temporary table before join operation. If BNLH is used to join this table with the result of a partial join then both operands of the join are actually put into main memory. In most cases this is not efficient. We could avoid this by sending the rows of the derived table directly to the join operation. However this kind of data flow is not supported yet. Fixed by not allowing usage of hash join algorithm to join a materialized derived table if it's joined by an equality predicate of the form f=e where f is a field of the derived table. Change for the test case in 10.3: splitting must be turned off to preserve the explain.
-
Igor Babaev authored
derived table / view by equality Now rows of a materialized derived table are always put into a temporary table before join operation. If BNLH is used to join this table with the result of a partial join then both operands of the join are actually put into main memory. In most cases this is not efficient. We could avoid this by sending the rows of the derived table directly to the join operation. However this kind of data flow is not supported yet. Fixed by not allowing usage of hash join algorithm to join a materialized derived table if it's joined by an equality predicate of the form f=e where f is a field of the derived table.
-
- 06 Oct, 2018 1 commit
-
-
Marko Mäkelä authored
-
- 05 Oct, 2018 9 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
Amend previous patch, so it works in all cases (also for "change user" command, and for RESET CONNECTION in 10.3)
-
Thirunarayanan Balathandayuthapani authored
-
Michael Widenius authored
-
Michael Widenius authored
This warning come from a copy() operation of type: memcpy(ptr, ptr+A, B), which is safe but produces a warning when run with valgrind. To avoid the warning, I added copy_or_move() method which uses memmove() instead of memcpy(). In 10.3 the change in item_strfunc::Item_func_concat() has to be mirroed in Item_func_concat_oracle() to avoid future valgrind warnings.
-
Marko Mäkelä authored
-
Thirunarayanan Balathandayuthapani authored
-
Thirunarayanan Balathandayuthapani authored
This is a regression caused by commit 73af8af0 (MDEV-15325 Incomplete validation of missing tablespace during recovery). If the recv_sys->addr_hash hash table ran out of memory, we would have to do crash recovery in multiple passes. If some tablespaces were missing, after the MDEV-15325 fix we would rescan the remaining redo log. But, we could incorrectly reset the "rescan" flag. Because of this, we would fail to apply some of the oldest redo log records to the data files. (The recv_sys->addr_hash would only contain records from the latest redo log scan batch.) Fix: After checking for missing tablespaces, reset the flag rescan=true, so that all redo log records will be re-read and applied.
-
- 04 Oct, 2018 4 commits
-
-
Daniel Bartholomew authored
-
Alexander Barkov authored
-
Marko Mäkelä authored
btr_cur_instant_root_init(): Check the "infimum" and "supremum" record strings already here, and not later in btr_cur_instant_root_init(). In this way, we can properly reject files from later versions where instant ALTER TABLE could support further operations that change the format of InnoDB clustered indexes.
-
Marko Mäkelä authored
-
- 03 Oct, 2018 4 commits
-
-
Vladislav Vaintroub authored
Output API function name, exception name, exception text
-
Vladislav Vaintroub authored
-
Marko Mäkelä authored
Because changes of the FIL_PAGE_TYPE or PAGE_INSTANT in the root page are not undo-logged, it is possible that the fields suggest that instant ADD COLUMN is in effect, even though no metadata record exists. If the fields are set, proceed to fetch the metadata record. If the metadata record does not exist, return success if !index->is_instant(). Also, check that the "infimum" and "supremum" records carry the strings in the root page. In a later format that supports instant DROP COLUMN, we will have to store more information in the root page, so that index->n_core_null_bytes can be determined accurately.
-
Marko Mäkelä authored
btr_cur_instant_init_low(): If columns were instantly added and dropped, then index->is_instant() might not hold even though the root page type was FIL_PAGE_TYPE_INSTANT. MariaDB 10.3 must refuse to open such files, because instant DROP COLUMN is not supported. Also, refuse to open the table if the metadata record has wrong info OR status bits. Previously, we only refused to open if both bits were wrong.
-
- 02 Oct, 2018 3 commits
-
-
Jan Lindström authored
MDEV-16211 Contents of transaction_registry should not be replicated by Galera
-
Elena Stepanova authored
Addition based on Travis results
-
Sergey Vojtovich authored
truncating a temporary table TRUNCATE expects only one TABLE instance (which is used by TRUNCATE itself) to be open. However this requirement wasn't enforced after "MDEV-5535: Cannot reopen temporary table". Fixed by closing unused table instances before performing TRUNCATE.
-
- 01 Oct, 2018 5 commits
-
-
Elena Stepanova authored
-
Eugene Kosov authored
Patch fixes two bugs: 1) BEGIN_TIMESTAMP of MYSQL.TRANSACTION_REGISTY is '0-0-0' on replication record insertion 2) BEGIN_TIMESTAMP equals COMMMIT_TIMESTAMP in MYSQL.TRANSACTION_REGISTRY Fixed by calling THD::set_time() at appropriate places
-
Sergei Golubchik authored
-
Thirunarayanan Balathandayuthapani authored
|| node->vcol_info.is_used()' failed - Purge thread can acquire mdl lock while initializing the mysql template. Set the vcol_info information before acquiring mdl lock. - Purge thread doesn't need to use the virtual column info even though it is requested. In that case, reset the virtual column info.
-
Marko Mäkelä authored
-
- 30 Sep, 2018 2 commits
-
-
Marko Mäkelä authored
rec_offs_nth_extern_old() was introduced in commit a4948daf and never used.
-
Marko Mäkelä authored
-
- 28 Sep, 2018 5 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
- 27 Sep, 2018 1 commit
-
-
Eugene Kosov authored
rw_lock_x_lock_wait_func(): remove duplicated logic added in incorrect merge Affected counters are affected by InnoDB monitor. But they aren't stable and thus can not be realiably tested.
-