- 27 Mar, 2019 3 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
In a Ubuntu Xenial build environment, the compiler identified as g++-5.real (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609 seems to be emitting incorrect code for the compilation unit trx0rec.cc, triggering a bogus-looking AddressSanitizer report of an invalid read of something in the function trx_undo_rec_get_pars(). This is potentially affecting any larger tests where the InnoDB purge subsystem is being exercised. When the optimization level of trx0rec.cc is limited to -O1, no bogus failure is being reported. With -O2 or -O3, a lot of things seemed to be inlined in the function, and the disassembly of the generated code did not make sense to me.
-
- 26 Mar, 2019 9 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Item_cond::eval_not_null_tables(): Use Item::eval_const_cond(), just like Item_cond::fix_fields(). This inconsistency was found while merging to 10.3, where the Microsoft compiler is configured to report an error for comparing longlong to bool.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Before MDEV-12113 (MariaDB Server 10.1.25), on shutdown InnoDB would write the current LSN to the first page of each file of the system tablespace. This is incompatible with MariaDB's InnoDB table encryption, because encryption repurposed the field for an encryption key ID and checksum. buf_page_is_corrupted(): For the InnoDB system tablespace, skip FIL_PAGE_FILE_FLUSH_LSN when checking if a page is all zero, because the first page of each file in the system tablespace can contain nonzero bytes in the field.
-
Alexander Barkov authored
-
- 25 Mar, 2019 11 commits
-
-
Sergey Vojtovich authored
By applying 7bd258c4.
-
Bernhard M. Wiedemann authored
unfortunately, the year 2038 problem prevented me from pushing the deadline even further into the future.
-
Daniel Bartholomew authored
-
Marko Mäkelä authored
btr_cur_compress_recommendation(): Backport a change from 10.3. This is a follow-up to commit 1bd98154.
-
Marko Mäkelä authored
The test case for reproducing MDEV-14126 demonstrates that InnoDB can end up with an index tree where a non-leaf page has only one child page. The test case innodb.innodb_bug14676111 demonstrates that such pages are sometimes unavoidable, because InnoDB does not implement any sort of B-tree rotation. But, there is no reason to allow a root page with only one child page. btr_cur_node_ptr_delete(): Replaces btr_node_ptr_delete(). btr_page_get_father(): Declare globally. btr_discard_only_page_on_level(): Declare with ATTRIBUTE_COLD. It turns out that this function is not covered by the innodb.innodb_bug14676111 test case after all. btr_discard_page(): If the root page ends up having only one child page, shrink the tree by invoking btr_lift_page_up().
-
Marko Mäkelä authored
This is follow-up to commit 1bd98154.
-
Marko Mäkelä authored
Backport some changes to B-tree page accessor functions from 10.3, including changing page_get_n_recs() to return uint16_t.
-
Marko Mäkelä authored
If an index page becomes empty, btr_page_empty() should be called.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
The predicate page_is_root(), which was added in MariaDB Server 10.2.2, is based on a wrong assumption. Under some circumstances, InnoDB can transform B-trees into a degenerate state where a non-leaf page has no sibling pages. Because of this, we cannot assume that a page that has no siblings is the root page. This bug will be tracked as MDEV-19022. Because of the bug that may affect many InnoDB data files, we must remove and replace the wrong predicate. Using the wrong predicate can cause corruption. A leaf page is not allowed to be empty except if it is the root page, and the entire table is empty.
-
Marko Mäkelä authored
MariaDB before MDEV-5800 in version 10.2.2 did not support indexed virtual columns. Non-persistent virtual columns were hidden from storage engines. Only starting with MDEV-5800, InnoDB would create internal metadata on virtual columns. Similar to what was done in MDEV-18084 and MDEV-18960, we adjust two more code paths for the old tables. ha_innobase::build_template(): Do not invoke dict_index_contains_col_or_prefix() for virtual columns if InnoDB does not store the metadata. innobase_build_col_map(): Relax an assertion about the number of columns. ha_innobase::omits_virtual_cols(): Renamed from omits_virtual_cols().
-
- 24 Mar, 2019 1 commit
-
-
Chris Calender authored
-
- 23 Mar, 2019 2 commits
-
-
Sergei Golubchik authored
new location for CPackRPM.cmake
-
Elena Stepanova authored
-
- 22 Mar, 2019 12 commits
-
-
Chris Calender authored
-
Chris Calender authored
-
Sergei Golubchik authored
don't link with libnuma in release builds
-
Sergei Golubchik authored
-
FaramosCZ authored
The 'bitmap_dir' has to be closed when no longer needed
-
Alexander Barkov authored
Simulate slow statements only for COM_QUERY and COM_STMT_EXECUTE commands, to exclude mysqld_stmt_prepare() and mysqld_stmt_close() entries from the log, as they are not relevant for log_slow_debug.test. This simplifies the test.
-
FaramosCZ authored
-
FaramosCZ authored
-
FaramosCZ authored
-
Marko Mäkelä authored
MDEV-18224 MTR's internal check of the test case 'innodb.recovery_shutdown' failed due to extra #sql-ib*.ibd files The test innodb.recovery_shutdown would occasionally fail, because recovered incomplete transactions would be conflicting with DROP TABLE, causing the background drop table queue to be invoked. Add a slow shutdown before dropping the tables, so that the recovered transactions will be rolled back. Starting with MDEV-14705, normal shutdown would abort the rollback of recovered transactions.
-
Marko Mäkelä authored
-
sachin authored
Fixed issue in logic.
-
- 21 Mar, 2019 2 commits