- 09 Dec, 2018 17 commits
-
-
Monty authored
FLUSH TABLES kills all insert delayed treads. If this happens at same time as a newly started insert delayed query, the insert may fail with either and error ("Query interrupted") or the row may be lost. This patch fixes this by changing a failed attempt of get_delay_table() to convert the query to use a normal insert. The test case for this patch can be found in the FLUSH TABLES commit after this one.
-
Monty authored
Part of MDEV-5336 Implement LOCK FOR BACKUP The idea is that instead of waiting in close_cached_tables() for all tables to be closed, we instead call flush_tables() that does: - Flush not used objects in table cache to free memory - Collect all tables that are open - Call HA_EXTRA_FLUSH on the objects, to get them into "closed state" - Added HA_EXTRA_FLUSH support to archive and CSV - Added multi-user protection to HA_EXTRA_FLUSH in MyISAM and Aria The benefit compared to old code is: - FTWRL doesn't have to wait for long running read operations or open HANDLER's
-
Monty authored
-
Monty authored
-
Monty authored
Part of MDEV-5336 Implement LOCK FOR BACKUP Added support for backup calls in Aria to protect removal of redo logs.
-
Monty authored
- The old code used the original create_info from lex, not the new one that includes more information (like OPT_OR_REPLACE). The bug was not discovered as the code in lock_table_named() only checked for OPT_OR_REPLACE in case of timeout errors. As lock_table_names will be fixed as part of BACKUP STAGE's, there is no changes in lock_table_names() in this commit. - Removed also the 'temporary' copy of statement flags to thd for lock_table_names()
-
Monty authored
-
Monty authored
- Moved tests depending on utf8 characters from create to create_utf8 - Fixed some tests in create and sp that wrongly tried to create table from non existing table on existing table. In a later patch we may first check if table exists, in which case the error message would change. - Updated results for partition_debug_tokudb
-
Monty authored
-
Monty authored
-
Monty authored
Bascially this means that all builds with BUILD scripts are done with --with-jemalloc=NO # Required by tokudb --with-ssl # Required on OpenSuse 10.5 to get galera to work
-
Monty authored
-
Monty authored
-
Monty authored
- Remove obsolete documentation files - Removed old obsolete information from some documentation files
-
Monty authored
-
Varun Gupta authored
Added to new values to the server variable use_stat_tables. The values are COMPLEMENTARY_FOR_QUERIES and PREFERABLY_FOR_QUERIES. Both these values don't allow to collect EITS for queries like analyze table t1; To collect EITS we would need to use the syntax with persistent like analyze table t1 persistent for columns (col1,col2...) index (idx1, idx2...) / ALL Changing the default value from NEVER to PREFERABLY_FOR_QUERIES.
-
Varun Gupta authored
use_stat_tables= PREFERABLY optimizer_use_condition_selectivity= 4
-
- 08 Dec, 2018 3 commits
-
-
Alexander Barkov authored
MDEV-17928 Conversion from TIMESTAMP to VARCHAR SP variables does not work well on fractional digits
-
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 7 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
-