summaryrefslogtreecommitdiff
path: root/mysql-test/main/range.test
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-28858 Wrong result with table elimination combined with not_null_range_scanMonty2022-06-161-0/+18
| | | | | | The bug was that build_notnull_conds_for_range_scans() did not take into account the join_tab is not yet sorted with constant tables first. Fixed the bug by testing explicitely if a table is a const table.
* Merge branch '10.4' into 10.5Sergei Golubchik2021-12-071-0/+24
|\
| * Merge branch '10.3' into 10.4Sergei Golubchik2021-12-071-0/+24
| |\
| | * Merge branch '10.2' into 10.3Sergei Golubchik2021-12-061-0/+24
| | |
* | | Merge 10.4 into 10.5Marko Mäkelä2021-04-141-0/+11
|\ \ \ | |/ /
| * | MDEV-23634: Select query hanged the server and leads to OOM ...bb-10.4-mdev23634Sergei Petrunia2021-04-081-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Handle "col<>const" in the same way that MDEV-21958 did for "col NOT IN(const-list)": do not use the condition for range/index_merge accesses if there is a unique UNIQUE KEY(col). The testcase is in main/range.test. The rest of test updates are due to widespread use of 'pk<>1' in the testsuite. Changed the test to use different but equivalent forms of the conditions.
* | | Merge branch 'bb-10.4-release' into bb-10.5-releaseSergei Golubchik2021-02-151-0/+14
|\ \ \ | |/ /
| * | Merge branch 'bb-10.3-release' into bb-10.4-releaseSergei Golubchik2021-02-121-0/+14
| |\ \ | | |/ | | | | | | | | | Note, the fix for "MDEV-23328 Server hang due to Galera lock conflict resolution" was null-merged. 10.4 version of the fix is coming up separately
| | * Merge branch '10.2' into 10.3Sergei Golubchik2021-02-011-0/+14
| | |
* | | Merge commit '10.4' into 10.5Oleksandr Byelkin2021-01-061-0/+34
|\ \ \ | |/ /
| * | Merge branch '10.3' into 10.4bb-10.4-MDEV-23468Oleksandr Byelkin2020-12-251-0/+34
| |\ \ | | |/
| | * Merge branch '10.2' into 10.3Oleksandr Byelkin2020-12-231-0/+34
| | |
| * | MDEV-21958: Query having many NOT-IN clauses running forever, part 2Sergei Petrunia2020-12-111-24/+0
| | | | | | | | | | | | | | | Move the testcase into a separate file: embedded server doesn't have optimizer trace.
| * | MDEV-21958: Query having many NOT-IN clauses running foreverSergei Petrunia2020-12-111-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Basic variant of the fix: do not consider conditions in form unique_key NOT IN (c1,c2...) to be sargable. If there are only a few constants, the condition is not selective. If there are a lot constants, the overhead of processing such a huge range list is not worth it.
* | | Merge branch '10.4' into 10.5mariadb-10.5.8Sergei Golubchik2020-11-101-0/+46
|\ \ \ | |/ /
| * | Merge branch '10.3' into 10.4mariadb-10.4.17Sergei Golubchik2020-11-101-0/+46
| |\ \ | | |/
| | * MDEV-24117: Memory management problem (in range optimizer)mariadb-10.3.27Sergei Petrunia2020-11-101-1/+1
| | | | | | | | | | | | | | | Adjust the testcase for MariaDB 10.3+ : prevent IN-to-subquery conversion optimization from working.
| | * Merge branch '10.2' into 10.3Sergei Golubchik2020-11-091-0/+46
| | |
* | | Merge 10.4 to 10.5Marko Mäkelä2020-10-221-3/+47
|\ \ \ | |/ /
| * | Merge 10.3 into 10.4Marko Mäkelä2020-10-221-3/+47
| |\ \ | | |/
| | * Merge 10.2 into 10.3Marko Mäkelä2020-10-221-0/+42
| | |
* | | Merge 10.4 into 10.5Marko Mäkelä2020-04-251-0/+16
|\ \ \ | |/ / | | | | | | | | | The functional changes of commit 5836191c8f0658d5d75484766fdcc3d838b0a5c1 (MDEV-21168) are omitted due to MDEV-742 having addressed the issue.
| * | Merge 10.3 into 10.4Marko Mäkelä2020-04-161-0/+16
| |\ \ | | |/ | | | | | | | | | | | | | | | In main.index_merge_myisam we remove the test that was added in commit a2d24def8cc42d27c72d833abfb39ef24a2b96ba because it duplicates the test case that was added in commit 5af12e463549e4bbc2ce6ab720d78937d5e5db4e.
| | * Merge 10.2 into 10.3Marko Mäkelä2020-04-151-0/+16
| | |
* | | merge 10.4 to 10.5Monty2020-03-181-1/+2
|\ \ \ | |/ /
| * | Removed double records_in_range calls from multi_range_read_info_constMonty2020-03-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was to remove a performance regression between 10.3 and 10.4 In 10.5 we will have a better implementation of records_in_range that will enable us to get more statistics. This change was not done in 10.4 because the 10.5 will be part of a larger change that is not suitable for the GA 10.4 version Other things: - Changed default handler block_size to 8192 to fix things statistics for engines that doesn't set the block size. - Fixed a bug in spider when using multiple part const ranges (Patch from Kentoku)
* | | MDEV-21683 Server crashes in get_quick_keys with not_null_range_scanIgor Babaev2020-02-101-1/+23
| | | | | | | | | | | | | | | | | | | | | ANding of the range built from inferred NOT NULL conditions and the range built from other conditions used in WHERE/ON clauses may produce an IMPOSSIBLE range. The code of MDEV-15777 did not take into account this possibility.
* | | Merge 10.4 into 10.5Marko Mäkelä2019-09-061-0/+1
|\ \ \ | |/ /
| * | Merge branch '10.3' into 10.4Sergei Golubchik2019-09-061-0/+1
| |\ \ | | |/
| | * Merge branch '10.2' into 10.3Monty2019-09-031-0/+1
| | |
* | | MDEV-15777 Use inferred IS NOT NULL predicates in the range optimizerIgor Babaev2019-08-301-1/+183
|/ / | | | | | | | | | | | | This patch introduces the optimization that allows range optimizer to consider index range scans that are built employing NOT NULL predicates inferred from WHERE conditions and ON expressions. The patch adds a new optimizer switch not_null_range_scan.
* | MDEV-18551: New defaults for eq_range_index_dive_limitVarun Gupta2019-02-191-0/+23
| | | | | | | | The value for eq_range_index_dive_limit is increased to 200.
* | MDEV-16188 Use in-memory PK filters built from range index scansIgor Babaev2019-02-031-38/+66
|/ | | | | | | | | | | | | | | | | | | | | | 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 8d5a11122c32f4d9eb87536886c6e893377bdd07. 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.
* Merge 10.2 into 10.3Marko Mäkelä2018-08-281-0/+33
|
* Move the testcase for BUG#21282 to a file that includes have_debug.incSergei Petrunia2018-08-231-28/+0
| | | | | The testcase needs to set in_predicate_conversion_threshold which is only available in debug builds (this is subject to further discussion).
* MDEV-17017 Explain for query using derived table specified with a tableIgor Babaev2018-08-211-0/+4
| | | | | | | | | | value constructor shows wrong number of rows If the specification of a derived table contained a table value constructor then the optimizer incorrectly estimated the number of rows in the derived table. This happened because the optimizer did not take into account the number of rows in the constructor. The wrong estimate could lead to choosing inefficient execution plans.
* Create 'main' test directory and move 't' and 'r' thereMichael Widenius2018-03-291-0/+2046