1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-05 12:42:17 +03:00
Commit Graph

8 Commits

Author SHA1 Message Date
07c0bac039 Fixed mdev-14947 Assertion `0' fails in Field_null::can_optimize_keypart_ref
when number of NULLs in IN list reaches in_predicate_conversion_threshold

The bug was fixed by removing an assertion that had been set in order
just to test whether the code could be ever executed.
2018-01-19 14:07:41 -08:00
37f5569909 @@in_predicate_conversion_threshold
* rename in_subquery_conversion_threshold to in_predicate_conversion_threshold
* make it debug-only, hide from users
* change from ulong to uint - same type and range on all architectures
2017-12-21 23:36:00 +01:00
2ba1616e5d Fixed mdev-14281 Wrong result from query with NOT IN predicate in WHERE
Conversion of NOT IN predicates into NOT IN subqueries did not work
correctly: the predicates actually were converted into IN subqueries.
As a result if the conversion was applied for the query with
a NOT IN predicate the query could return a wrong result set.
2017-11-05 11:59:19 -08:00
a4ded0a9b5 Mistakes corrected.
TVC can be used in IN subquery and in PARTITION BY struct now.
Special variable to control working of optimization added.
2017-10-28 20:54:18 +02:00
6bce8e1422 Post review changes for the optimization of IN predicates into IN subqueries. 2017-09-02 23:19:20 +02:00
d76f74d46c Remarked opt_tvc.test added. 2017-09-01 19:18:50 +02:00
570d2e7d0f Summarized results of two previous commits (26 July, 25 August) 2017-08-29 02:32:39 +02:00
3310076dbe Optimization that transforms IN-predicate in IN-subselect made.
Trasformation goes that way:
a in (1,2) ->
a in (select * from (values ((1),(2))) as new_tvc)

Special variable that controlls optimization added.
Now optimization works only in several cases.
New tests added.

Old tests corrected. Now with TVC explain can be used. TVC also can be used in recursive CTEs.
2017-08-25 19:06:13 +02:00