- 14 Feb, 2019 2 commits
-
-
Igor Babaev authored
Also adjusted some test files.
-
Igor Babaev authored
Due to inconsistent usage of different cost models to calculate the cost of ref accesses we have to make the calculation of the gain promising by usage a range filter more complex.
-
- 11 Feb, 2019 2 commits
-
-
Marko Mäkelä authored
-
Igor Babaev authored
The code was rewritten in the same way as the code of ha_partition::multi_range_read_info_const() had been rewritten earlier. The fix allowed to run spider.partition_mrr.
-
- 10 Feb, 2019 1 commit
-
-
Galina Shalygina authored
Find indexes of one table which parts participate in one constraint. These indexes are called constraint correlated. New methods: TABLE::find_constraint_correlated_indexes() and virtual method check_index_dependence() were added. For each index it's own constraint correlated index map was created where all indexes that are constraint correlated with the current are marked. The results of this task are used for MDEV-16188 (Use in-memory PK filters built from range index scans).
-
- 09 Feb, 2019 1 commit
-
-
Igor Babaev authored
-
- 08 Feb, 2019 2 commits
-
-
Igor Babaev authored
-
Igor Babaev authored
-
- 07 Feb, 2019 1 commit
-
-
Galina Shalygina authored
Fix bugs caused by changes for ANALYZE
-
- 06 Feb, 2019 3 commits
-
-
Igor Babaev authored
Also adjusted some result files after Galina's last patch for ANALYZE.
-
Galina Shalygina authored
ANALYZE and ANALYZE FORMAT=JSON structures are changed in the way that they show additional information when rowid filter is used: - r_selectivity_pct - the observed filter selectivity - r_buffer_size - the size of the rowid filter container buffer - r_filling_time_ms - how long it took to fill rowid filter container New class Rowid_filter_tracker was added. This class is needed to collect data about how rowid filter is executed.
-
Igor Babaev authored
Also pushed new results for regression_mdev6282.test. (the cause of difference should be investigated).
-
- 05 Feb, 2019 4 commits
-
-
Sergei Petrunia authored
They generally don't have stats.records=0, the the statistics are computed based on GetApproximateSizes and GetApproximateMemTableStats. Still, when there's nothing on disk and only a few records are in the MemTable, it is possible that both calls will return 0, and the optimizer will see stats.records=0, which may cause "impossible range" condition (even if records_in_range() returned a non-zero value)
-
Marko Mäkelä authored
Fix the formatting, and remove the MONITOR interface. Remove unnecessary wrapper functions for the callbacks, and replace void* with ha_innobase*.
-
Marko Mäkelä authored
-
Igor Babaev authored
-
- 04 Feb, 2019 3 commits
-
-
Igor Babaev authored
-
Igor Babaev authored
-
Igor Babaev authored
-
- 03 Feb, 2019 6 commits
-
-
Igor Babaev authored
This patch contains a full implementation of the optimization that allows to use in-memory rowid / primary filters built for range conditions over indexes. In many cases usage of such filters reduce the number of disk seeks spent for fetching table rows. In this implementation the choice of what possible filter to be applied (if any) is made purely on cost-based considerations. This implementation re-achitectured the partial implementation of the feature pushed by Galina Shalygina in the commit 8d5a1112. Besides this patch contains a better implementation of the generic handler function handler::multi_range_read_info_const() that takes into account gaps between ranges when calculating the cost of range index scans. It also contains some corrections of the implementation of the handler function records_in_range() for MyISAM. This patch supports the feature for InnoDB and MyISAM.
-
Kentoku authored
add tests
-
Kentoku authored
Add a system variable spider_slave_trx_isolation. - spider_slave_trx_isolation The transaction isolation level when Spider table is used by slave SQL thread. -1 : OFF 0 : READ UNCOMMITTED 1 : READ COMMITTED 2 : REPEATABLE READ 3 : SERIALIZABLE The default value is -1 Miscellaneous Spider typos
-
Kentoku authored
Change default value of the followings quick_mode 0 -> 3 quick_page_size 100 -> 1024 Add the following parameter for limiting result page size by byte - quick_page_byte(qpb) Number of bytes in a page when acquisition one by one. When quick_mode is 1 or 2, Spider stores at least 1 record even if quick_page_byte is smaller than 1 record. When quick_mode is 3, quick_page_byte is used for judging using temporary table. That is given to priority when server parameter spider_quick_page_byte is set. The default value is 10485760 Fix "out of sync" issue at using quick_mode = 1 or 2
-
Kentoku authored
The fields of the temporary table were not created in create_tmp_table function. Because item->const_item() was true. But the temporary tables that is created by Spider are always used all columns. So Spider should call create_tmp_table function with TMP_TABLE_ALL_COLUMNS flag.
-
Kentoku authored
-
- 01 Feb, 2019 1 commit
-
-
Varun Gupta authored
The default value for eq_range_index_dive_limit is set to 10
-
- 30 Jan, 2019 1 commit
-
-
Marko Mäkelä authored
-
- 29 Jan, 2019 3 commits
-
-
Daniel Bartholomew authored
-
Sergey Vojtovich authored
Replaced wait on COND_thread_count with busy waiting with 1 millisecond sleep. Aim is to reduce usage of LOCK_thread_count and COND_thread_count.
-
Sergey Vojtovich authored
Signal handler is now respoinsible for setting abort_loop and breaking poll() in main thread. The rest is handled by main thread itself. Removed redundant LOCK_error_log init/destroy wrappers. Removed redundant unireg_end(): it is trivial and it has only one caller. Removed unused ready_to_exit from PFS. Removed kill_in_progress: duplicates abort_loop. Removed shutdown_in_progress: duplicates abort_loop. Removed ready_to_exit: was used to make sure main thread waits for cleanups, which are now done by main thread itself. Removed SIGNALS_DONT_BREAK_READ, MAYBE_BROKEN_SYSCALL, kill_broken_server: never defined/used. Make clean_up() static.
-
- 28 Jan, 2019 10 commits
-
-
Vladislav Vaintroub authored
fill_status. Also, remove LOCK_status around calc_sum_of_all_status() Also, rename LOCK_show_status into LOCK_all_status_vars. This reflects the variable the lock protects.
-
Vladislav Vaintroub authored
modifications (insert/erase) are protected by write lock iteration over list is protected by read lock. This way, threads that iterate over the list (as in SHOW PROCESSLIST, SHOW GLOBAL STATUS) do not block each other.
-
Sergei Golubchik authored
* fix CRL tests to work * regenerate certificates to be at least 2048 bit (fixes buster and rhel8 in buildbot) * update generate-ssl-cert.sh to generate crl files * make all SSL tests to use certificates generated in generate-ssl-cert.sh, remove unused certificates
-
Sergei Golubchik authored
-
Sergei Golubchik authored
from info to debug
-
Sergey Vojtovich authored
In contrast to thread_count, which is decremented by THD destructor, this one was most probably intended to be decremented after all THD destructors are done. THD_count class was added to achieve similar effect with thread_count. Aim is to reduce usage of LOCK_thread_count and COND_thread_count. Part of MDEV-15135.
-
Sergey Vojtovich authored
Implemented and integrated THD_list as a replacement for the global thread list. It uses own mutex instead of LOCK_thread_count for THD list protection. Removed unused first_global_thread() and next_global_thread(). delayed_insert_threads is now protected by LOCK_delayed_insert. Although this patch doesn't fix very wrong synchronization of this variable. After this patch there are only 2 legitimate uses of LOCK_thread_count left, both in mysqld.cc: thread_count and ready_to_exit. Aim is to reduce usage of LOCK_thread_count and COND_thread_count. Part of MDEV-15135.
-
Sergey Vojtovich authored
LOG_INFO::lock was useless. It could've only protect against concurrent iterators execution, which was already protected by LOCK_thread_count. Use LOCK_thd_data instead of LOCK_thread_count as a protection against THD::current_linfo reset. Aim is to reduce usage of LOCK_thread_count and COND_thread_count. Part of MDEV-15135.
-
Sergey Vojtovich authored
Bootstrap in a separate thread was introduced in 746f0b3b to workaround OS/2 small stack size. OS/2 support was discontinued in 2006 and modern operating systems have default stack size a few times larger than default thread_stack and it is tunable. Aim is to reduce usage of LOCK_thread_count and COND_thread_count. Part of MDEV-15135.
-
Sergey Vojtovich authored
-