- 08 Dec, 2018 2 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
Sort acl_users inside the mysql_rename_user()'s loop, after every successful iteration. This is needed because on the next loop's iteration find_user_exact() is used, which requires correct sorting by name.
-
- 07 Dec, 2018 13 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Kristian Nielsen authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
&sys_buf + DATA_TRX_ID_LEN is not &(sys_buf + DATA_TRX_ID_LEN).
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
create_table_def(), ha_innobase::create(): Defer fts_optimize_add_table() until after the table has been successfully created.
-
Marko Mäkelä authored
row_fts_merge_insert(): Correctly initialize DB_ROLL_PTR to a safe value that will not be dereferenced by MVCC.
-
Alexander Barkov authored
-
Kristian Nielsen authored
This patch changes how old rows in mysql.gtid_slave_pos* tables are deleted. Instead of doing it as part of every replicated transaction in record_gtid(), it is done periodically (every @@gtid_cleanup_batch_size transaction) in the slave background thread. This removes the deletion step from the replication process in SQL or worker threads, which could speed up replication with many small transactions. It also decreases contention on the global mutex LOCK_slave_state. And it simplifies the logic, eg. when a replicated transaction fails after having deleted old rows. With this patch, the deletion of old GTID rows happens asynchroneously and slightly non-deterministic. Thus the number of old rows in mysql.gtid_slave_pos can temporarily exceed @@gtid_cleanup_batch_size. But all old rows will be deleted eventually after sufficiently many new GTIDs have been replicated.
-
- 06 Dec, 2018 8 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
only --datadir option is tested in this test. Other options (notably --password and --service) would need another, more comprehensive test.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
merge_role_db_privileges() was remembering pointers into Dynamic_array acl_dbs, and later was using them, while pushing more elements into the array. But pushing can cause realloc, and it can invalidate all pointers. Fix: remember and use indexes of elements, not pointers.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Vladislav Vaintroub authored
sorting them by usernames first, and then by get_sort() value. Search functions now use binary search to find the the first entry with given name. Then, linear search is done, until the first match.
-
- 05 Dec, 2018 4 commits
-
-
Varun Gupta authored
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Alexander Barkov authored
-
- 04 Dec, 2018 6 commits
-
-
Anel Husakovic authored
-
Alexander Barkov authored
The previous patch 269da4bf was actually for MDEV-8894 (not for MDEV-5377). It was erroneously pushed with a wrong title. This patch is a small cleanup for MDEV-8894. CREATE TABLE is now not a part of binary logs recorded with MySQL, only INSERT statements are. This will allow to reuse the same binary logs in combinations with different CREATE TABLE statements, to tests different data types.
-
Marko Mäkelä authored
-
Alexander Barkov authored
MDEV-5377 Row-based replication of MariaDB temporal data types with FSP>0 into a different column type
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 03 Dec, 2018 3 commits
-
-
Sergey Vojtovich authored
-
Thirunarayanan Balathandayuthapani authored
MDEV-17432 Assertion `lock_trx_has_sys_table_locks(trx) == 0' failed upon ALTER TABLE .. ADD FOREIGN KEY - Fixed innodb.table_flags test case in release build.
-
Alexander Barkov authored
-
- 02 Dec, 2018 2 commits
-
-
Thirunarayanan Balathandayuthapani authored
MDEV-17432 Assertion `lock_trx_has_sys_table_locks(trx) == 0' failed upon ALTER TABLE .. ADD FOREIGN KEY - This is a regression of commit b26e603a. While dropping the incompletely created table, InnoDB shouldn't consider that operation as non-atomic one.
-
Alexander Barkov authored
-
- 01 Dec, 2018 1 commit
-
-
Igor Babaev authored
When the with clause of a query contains a recursive CTE that is not used then processing of EXPLAIN for this query does not require optimization of the unit specifying this CTE. In this case if 'derived' is the TABLE_LIST object created for this CTE then derived->derived_result is NULL and any assignment to derived->derived_result->table causes a crash. After fixing this problem in the code of st_select_lex_unit::prepare() EXPLAIN for such a query worked without crashes. Yet an execution plan for the recursive CTE appeared there. The cause of this problem was an incorrect condition used in JOIN::save_explain_data_intern() that determined whether CTE was to be optimized or not. A similar condition was used in select_describe() and this patch has corrected it as well.
-
- 30 Nov, 2018 1 commit
-
-
Marko Mäkelä authored
Remove unnecessary #include. Remove references to UNIV_MATERIALIZE, UNIV_INLINE_ORIGINAL, UNIV_NONINL that are never defined.
-