Skip to content
  • Olav Sandstaa's avatar
    5a473a62
    Bug#19505175 REGRESSION IN Q21 OF DBT3 TEST FOR WL7339 · 5a473a62
    Olav Sandstaa authored
    WL#7339 started to use more correct records per key estimates from
    InnoDB. This caused the cost estimate for the original query plan
    to become four times higher than previous, which caused another
    query plan to be selected.
    
    The new selected query plan does a table scan on the orders table.
    This table has 1.5 million records. On this table we have the
    following condition:
    
      orders.o_orderstatus = 'F'
    
    This is used for calculating the condition filter effect for this
    table. With the current guestimate for equality conditions of 0.005,
    this caused the estimated number of partial rows to be produced from
    this table to be only 7500. In reality, 730.000 rows were produced.
    
    The cause for this very wrong estimate is that the o_orderstatus
    column only contains three distinct values and almost half of the
    records have the value 'F'.
    
    To make the condition filter produce a better (more conservative)
    estimate for cases like this and to reduce the likelihood of
    similar regressions, the fix for this problem is to increase the
    condition filter constant for equality estimates to 0.1. With this
    we estimate that 1 of 10 records will pass the filter (instead of
    only 1 out of 200).
    
    Changes in tests:
    
    @ mysql-test/r/compress.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/derived.result
       Mostly changes to filtered estimates. One change in query plan.
       This query now gets the same plan as it had before WL#6635.
    @ mysql-test/r/ds_mrr-big.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/eq_range_idx_stat.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/explain_for_connection_rqg_json.result
       Mostly changes to filtered and rows estimates. One
       query has changes to its query plan.
    @ mysql-test/r/explain_for_connection_rqg_trad.result
       Mostly changes to filtered and rows estimates. One
       query has changes to its query plan.
    @ mysql-test/r/explain_other.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/filter_single_col_idx_big.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/filter_single_col_idx_small.result
       Mostly changes to filtered estimates. One query has
       changes to its query plan: changes from using FirstMatch
       to do materialization.
    @ mysql-test/t/filter_single_col_idx_small.test
       Added test to verify that the filter estimate for basic
       filter constants is not less than one row
    @ mysql-test/r/greedy_optimizer.result
       Mostly changes to filtered and cost estimates. Eight queries
       has changes in query plans. Four of these changes back to
       the query plan they had before WL#6335 was pushed. The four
       last had similar changes in query plans as for when WL#6635 was
       pushed.
    @ mysql-test/r/greedy_search.result
       Mostly changes to filtered estimates. Two queries has
       changes to its query plan. One of these are returned to
       what it was before WL#6635 was pushed. The other has
       similar changes to as what was introduced by WL#6335.
       The number of partial query plans for some queries are
       increased. With the exception of one of these, all
       new numbers are below what it was before WL#6335.
       The one the has a very high increas in the number of
       partial query plans, changes from 22201 to 5799004.
       Before WL#6635 this query considered 735518 partial
       query plans.
    @ mysql-test/r/group_by.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/group_min_max.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/group_min_max_innodb.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/heap.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/heap_hash.result
       One change in query plan. The new plan is more similar
       to what the query plan was before WL#6635 was pushed. It has
       the same join order but uses table scan on the second
       table instead of ref access as it did before WL#6635.
    @ mysql-test/r/index_merge_innodb.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/index_merge_intersect_dml.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/index_merge_myisam.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/innodb_explain_json_non_select_all.result
       Changes in filtered, rows and cost estimates in explain output.
    @ mysql-test/r/innodb_explain_json_non_select_none.result
       Changes in filtered, rows and estimates in explain output.
    @ mysql-test/r/innodb_explain_non_select_all.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/innodb_explain_non_select_none.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/innodb_icp.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/innodb_icp_all.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/innodb_icp_none.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/join.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/join_cache_bka.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/join_cache_bka_nixbnl.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/join_cache_bkaunique.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/join_cache_bnl.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/join_cache_nojb.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/join_outer.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/join_outer_bka.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/join_outer_bka_nixbnl.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/myisam_explain_json_non_select_all.result
       Changes in filtered, rows and cost estimates in explain output.
    @ mysql-test/r/myisam_explain_json_non_select_none.result
       Changes in filtered, rows and cost estimates in explain output.
    @ mysql-test/r/myisam_explain_non_select_all.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/myisam_explain_non_select_none.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/myisam_icp.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/myisam_icp_all.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/myisam_icp_none.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/named_pipe.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/negation_elimination.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/null_key_all.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/null_key_icp.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/null_key_none.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/order_by_all.result
      One query has changes to query plan. The new query plan
      is the same as this query had before WL#6635 was pushed.
    @ mysql-test/r/order_by_icp_mrr.result
      One query has changes to query plan. The new query plan
      is the same as this query had before WL#6635 was pushed.
    @ mysql-test/r/order_by_none.result
      One query has changes to query plan. The new query plan
      is the same as this query had before WL#6635 was pushed.
    @ mysql-test/r/partition_locking.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/partition_pruning.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/range_all.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/range_icp.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/range_icp_mrr.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/range_mrr.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/range_mrr_cost.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/range_none.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/select_all.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/select_all_bka.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/select_all_bka_nixbnl.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/select_icp_mrr.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/select_icp_mrr_bka.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/select_icp_mrr_bka_nixbnl.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/select_none.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/select_none_bka.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/select_none_bka_nixbnl.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/shm.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/ssl.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/ssl_compress.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_all.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_all_bka.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_all_bka_nixbnl.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_nomat_nosj.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_nomat_nosj_bka.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_nomat_nosj_bka_nixbnl.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_none.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_none_bka.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_none_bka_nixbnl.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_sj_all.result
      Mostly changes to filtered, rows and cost estimates. Three queries
      has plan changes. Two of these returns to what the plan was before
      WL#6635. The last has changes that makes the plan look more like
      it was before WL#6635 but not identical.
    @ mysql-test/r/subquery_sj_all_bka.result
      Mostly changes to filtered, rows and cost estimates. Seven
      queries have real plan changes. Four of these returns to
      the plan they had before WL#6635.
    @ mysql-test/r/subquery_sj_all_bka_nixbnl.result
      Mostly changes to filtered, rows and cost estimates. Seven
      queries have real plan changes. Four of these returns to
      the plan they had before WL#6635.
    @ mysql-test/r/subquery_sj_all_bkaunique.result
      Mostly changes to filtered, rows and cost estimates. Eight
      queries have real plan changes. Five of these returns to
      the plan they had before WL#6635.
    @ mysql-test/r/subquery_sj_dupsweed.result
      Mostly changes to filtered, rows and cost estimates. One
      query has real plan changes. The new query plan is the
      same as this query had before WL#6635.
    @ mysql-test/r/subquery_sj_dupsweed_bka.result
      Mostly changes to filtered, rows and cost estimates. Two
      queries have real plan changes. The new query plans are the
      same as these queries had before WL#6635.
    @ mysql-test/r/subquery_sj_dupsweed_bka_nixbnl.result
      Changes to filtered, rows and cost estimates.
    @ mysql-test/r/subquery_sj_dupsweed_bkaunique.result
      Mostly changes to filtered, rows and cost estimates. Two
      queries have real plan changes. The new query plans are the
      same as these queries had before WL#6635.
    @ mysql-test/r/subquery_sj_firstmatch.result
      Mostly changes to filtered, rows and cost estimates. One
      query has real plan changes. The new query plan is the
      same as this query had before WL#6635.
    @ mysql-test/r/subquery_sj_firstmatch_bka.result
      Mostly changes to filtered, rows and cost estimates. One
      query has real plan changes. The new query plan is the
      same as this query had before WL#6635.
    @ mysql-test/r/subquery_sj_firstmatch_bka_nixbnl.result
      Changes to filtered, rows and cost estimates.
    @ mysql-test/r/subquery_sj_firstmatch_bkaunique.result
      Mostly changes to filtered, rows and cost estimates. One
      query has real plan changes. The new query plan is the
      same as this query had before WL#6635.
    @ mysql-test/r/subquery_sj_loosescan.result
      Mostly changes to filtered, rows and cost estimates. Four
      queries have real plan changes. The new query plans are the
      same as these queries had before WL#6635.
    @ mysql-test/r/subquery_sj_loosescan_bka.result
      Mostly changes to filtered, rows and cost estimates. Four
      queries have real plan changes. The new query plans are the
      same as these queries had before WL#6635.
    @ mysql-test/r/subquery_sj_loosescan_bka_nixbnl.result
      Mostly changes to filtered, rows and cost estimates. Two
      queries have real plan changes. The new query plans are the
      same as these queries had before WL#6635.
    @ mysql-test/r/subquery_sj_loosescan_bkaunique.result
      Mostly changes to filtered, rows and cost estimates. Four
      queries have real plan changes. The new query plans are the
      same as these queries had before WL#6635.
    @ mysql-test/r/subquery_sj_mat.result
      Mostly changes to filtered, rows and cost estimates. Eight
      queries have real plan changes. Seven of these returns to
      the plan they had before WL#6635.
    @ mysql-test/r/subquery_sj_mat_bka.result
      Mostly changes to filtered, rows and cost estimates. Eight
      queries have real plan changes. Seven of these returns to
      the plan they had before WL#6635.
    @ mysql-test/r/subquery_sj_mat_bka_nixbnl.result
      Mostly changes to filtered, rows and cost estimates. Seven
      queries have real plan changes. Six of these returns to
      the plan they had before WL#6635.
    @ mysql-test/r/subquery_sj_mat_bkaunique.result
      Mostly changes to filtered, rows and cost estimates. Eight
      queries have real plan changes. Seven of these returns to
      the plan they had before WL#6635.
    @ mysql-test/r/subquery_sj_mat_nosj.result
      Changes to filtered and cost estimates in explain output.
    @ mysql-test/r/subquery_sj_none.result
      Changes to filtered, rows and cost estimates in explain output.
    @ mysql-test/r/subquery_sj_none_bka.result
      Changes to filtered, rows and cost estimates in explain output.
    @ mysql-test/r/subquery_sj_none_bka_nixbnl.result
      Changes to filtered, rows and cost estimates in explain output.
    @ mysql-test/r/subquery_sj_none_bkaunique.result
      Changes to filtered, rows and cost estimates in explain output.
    @ mysql-test/r/subselect_innodb.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/type_temporal_fractional.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/wl6711_heap_to_disk.result
      Changes in filtered estimate in explain output.
    @ mysql-test/suite/innodb/r/innodb_lock_wait_timeout_1.result
      Changes in filtered estimate in explain output.
    @ mysql-test/suite/opt_trace/r/general2_no_prot.result
      Changes in rows and cost estimates in explain output.
    @ mysql-test/suite/opt_trace/r/general2_ps_prot.result
      Changes in rows and cost estimates in explain output.
    @ mysql-test/suite/opt_trace/r/range_no_prot.result
      Changes in filtered and rows estimates in explain output.
    @ mysql-test/suite/opt_trace/r/range_ps_prot.result
      Changes in filtered estimate in explain output.
    @ mysql-test/suite/opt_trace/r/subquery_no_prot.result
      Changes in filtered, rows and cost estimates in explain output.
    @ mysql-test/suite/opt_trace/r/subquery_ps_prot.result
      Changes in filtered, rows and cost estimates in explain output.
    @ mysql-test/suite/parts/r/partition_alter3_innodb.result
      Changes in filtered estimate in explain output.
    @ mysql-test/suite/parts/r/partition_alter3_myisam.result
      Changes in filtered estimate in explain output.
    @ mysql-test/suite/perfschema/r/batch_table_io_func.result
      Changes in filtered estimate in explain output.
    @ sql/item.h
      Change the value for the condition filter constant COND_FILTER_EQUALITY
      from 0.005 to 0.1.
    @ unittest/gunit/item_filter-t.cc
      Change in unit test for condition filter for IN lists:
      Reduced from having six values in the IN list to four
      values. The reason is that with six values in the
      IN list the calculated condition filter will be larger
      than 0.5 and then rounded down to 0.5.
    5a473a62
    Bug#19505175 REGRESSION IN Q21 OF DBT3 TEST FOR WL7339
    Olav Sandstaa authored
    WL#7339 started to use more correct records per key estimates from
    InnoDB. This caused the cost estimate for the original query plan
    to become four times higher than previous, which caused another
    query plan to be selected.
    
    The new selected query plan does a table scan on the orders table.
    This table has 1.5 million records. On this table we have the
    following condition:
    
      orders.o_orderstatus = 'F'
    
    This is used for calculating the condition filter effect for this
    table. With the current guestimate for equality conditions of 0.005,
    this caused the estimated number of partial rows to be produced from
    this table to be only 7500. In reality, 730.000 rows were produced.
    
    The cause for this very wrong estimate is that the o_orderstatus
    column only contains three distinct values and almost half of the
    records have the value 'F'.
    
    To make the condition filter produce a better (more conservative)
    estimate for cases like this and to reduce the likelihood of
    similar regressions, the fix for this problem is to increase the
    condition filter constant for equality estimates to 0.1. With this
    we estimate that 1 of 10 records will pass the filter (instead of
    only 1 out of 200).
    
    Changes in tests:
    
    @ mysql-test/r/compress.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/derived.result
       Mostly changes to filtered estimates. One change in query plan.
       This query now gets the same plan as it had before WL#6635.
    @ mysql-test/r/ds_mrr-big.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/eq_range_idx_stat.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/explain_for_connection_rqg_json.result
       Mostly changes to filtered and rows estimates. One
       query has changes to its query plan.
    @ mysql-test/r/explain_for_connection_rqg_trad.result
       Mostly changes to filtered and rows estimates. One
       query has changes to its query plan.
    @ mysql-test/r/explain_other.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/filter_single_col_idx_big.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/filter_single_col_idx_small.result
       Mostly changes to filtered estimates. One query has
       changes to its query plan: changes from using FirstMatch
       to do materialization.
    @ mysql-test/t/filter_single_col_idx_small.test
       Added test to verify that the filter estimate for basic
       filter constants is not less than one row
    @ mysql-test/r/greedy_optimizer.result
       Mostly changes to filtered and cost estimates. Eight queries
       has changes in query plans. Four of these changes back to
       the query plan they had before WL#6335 was pushed. The four
       last had similar changes in query plans as for when WL#6635 was
       pushed.
    @ mysql-test/r/greedy_search.result
       Mostly changes to filtered estimates. Two queries has
       changes to its query plan. One of these are returned to
       what it was before WL#6635 was pushed. The other has
       similar changes to as what was introduced by WL#6335.
       The number of partial query plans for some queries are
       increased. With the exception of one of these, all
       new numbers are below what it was before WL#6335.
       The one the has a very high increas in the number of
       partial query plans, changes from 22201 to 5799004.
       Before WL#6635 this query considered 735518 partial
       query plans.
    @ mysql-test/r/group_by.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/group_min_max.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/group_min_max_innodb.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/heap.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/heap_hash.result
       One change in query plan. The new plan is more similar
       to what the query plan was before WL#6635 was pushed. It has
       the same join order but uses table scan on the second
       table instead of ref access as it did before WL#6635.
    @ mysql-test/r/index_merge_innodb.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/index_merge_intersect_dml.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/index_merge_myisam.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/innodb_explain_json_non_select_all.result
       Changes in filtered, rows and cost estimates in explain output.
    @ mysql-test/r/innodb_explain_json_non_select_none.result
       Changes in filtered, rows and estimates in explain output.
    @ mysql-test/r/innodb_explain_non_select_all.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/innodb_explain_non_select_none.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/innodb_icp.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/innodb_icp_all.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/innodb_icp_none.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/join.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/join_cache_bka.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/join_cache_bka_nixbnl.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/join_cache_bkaunique.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/join_cache_bnl.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/join_cache_nojb.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/join_outer.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/join_outer_bka.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/join_outer_bka_nixbnl.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/myisam_explain_json_non_select_all.result
       Changes in filtered, rows and cost estimates in explain output.
    @ mysql-test/r/myisam_explain_json_non_select_none.result
       Changes in filtered, rows and cost estimates in explain output.
    @ mysql-test/r/myisam_explain_non_select_all.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/myisam_explain_non_select_none.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/myisam_icp.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/myisam_icp_all.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/myisam_icp_none.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/named_pipe.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/negation_elimination.result
       Changes in filtered estimate in explain output.
    @ mysql-test/r/null_key_all.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/null_key_icp.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/null_key_none.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/order_by_all.result
      One query has changes to query plan. The new query plan
      is the same as this query had before WL#6635 was pushed.
    @ mysql-test/r/order_by_icp_mrr.result
      One query has changes to query plan. The new query plan
      is the same as this query had before WL#6635 was pushed.
    @ mysql-test/r/order_by_none.result
      One query has changes to query plan. The new query plan
      is the same as this query had before WL#6635 was pushed.
    @ mysql-test/r/partition_locking.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/partition_pruning.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/range_all.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/range_icp.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/range_icp_mrr.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/range_mrr.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/range_mrr_cost.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/range_none.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/select_all.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/select_all_bka.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/select_all_bka_nixbnl.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/select_icp_mrr.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/select_icp_mrr_bka.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/select_icp_mrr_bka_nixbnl.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/select_none.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/select_none_bka.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/select_none_bka_nixbnl.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/shm.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/ssl.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/ssl_compress.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_all.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_all_bka.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_all_bka_nixbnl.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_nomat_nosj.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_nomat_nosj_bka.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_nomat_nosj_bka_nixbnl.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_none.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_none_bka.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_none_bka_nixbnl.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/subquery_sj_all.result
      Mostly changes to filtered, rows and cost estimates. Three queries
      has plan changes. Two of these returns to what the plan was before
      WL#6635. The last has changes that makes the plan look more like
      it was before WL#6635 but not identical.
    @ mysql-test/r/subquery_sj_all_bka.result
      Mostly changes to filtered, rows and cost estimates. Seven
      queries have real plan changes. Four of these returns to
      the plan they had before WL#6635.
    @ mysql-test/r/subquery_sj_all_bka_nixbnl.result
      Mostly changes to filtered, rows and cost estimates. Seven
      queries have real plan changes. Four of these returns to
      the plan they had before WL#6635.
    @ mysql-test/r/subquery_sj_all_bkaunique.result
      Mostly changes to filtered, rows and cost estimates. Eight
      queries have real plan changes. Five of these returns to
      the plan they had before WL#6635.
    @ mysql-test/r/subquery_sj_dupsweed.result
      Mostly changes to filtered, rows and cost estimates. One
      query has real plan changes. The new query plan is the
      same as this query had before WL#6635.
    @ mysql-test/r/subquery_sj_dupsweed_bka.result
      Mostly changes to filtered, rows and cost estimates. Two
      queries have real plan changes. The new query plans are the
      same as these queries had before WL#6635.
    @ mysql-test/r/subquery_sj_dupsweed_bka_nixbnl.result
      Changes to filtered, rows and cost estimates.
    @ mysql-test/r/subquery_sj_dupsweed_bkaunique.result
      Mostly changes to filtered, rows and cost estimates. Two
      queries have real plan changes. The new query plans are the
      same as these queries had before WL#6635.
    @ mysql-test/r/subquery_sj_firstmatch.result
      Mostly changes to filtered, rows and cost estimates. One
      query has real plan changes. The new query plan is the
      same as this query had before WL#6635.
    @ mysql-test/r/subquery_sj_firstmatch_bka.result
      Mostly changes to filtered, rows and cost estimates. One
      query has real plan changes. The new query plan is the
      same as this query had before WL#6635.
    @ mysql-test/r/subquery_sj_firstmatch_bka_nixbnl.result
      Changes to filtered, rows and cost estimates.
    @ mysql-test/r/subquery_sj_firstmatch_bkaunique.result
      Mostly changes to filtered, rows and cost estimates. One
      query has real plan changes. The new query plan is the
      same as this query had before WL#6635.
    @ mysql-test/r/subquery_sj_loosescan.result
      Mostly changes to filtered, rows and cost estimates. Four
      queries have real plan changes. The new query plans are the
      same as these queries had before WL#6635.
    @ mysql-test/r/subquery_sj_loosescan_bka.result
      Mostly changes to filtered, rows and cost estimates. Four
      queries have real plan changes. The new query plans are the
      same as these queries had before WL#6635.
    @ mysql-test/r/subquery_sj_loosescan_bka_nixbnl.result
      Mostly changes to filtered, rows and cost estimates. Two
      queries have real plan changes. The new query plans are the
      same as these queries had before WL#6635.
    @ mysql-test/r/subquery_sj_loosescan_bkaunique.result
      Mostly changes to filtered, rows and cost estimates. Four
      queries have real plan changes. The new query plans are the
      same as these queries had before WL#6635.
    @ mysql-test/r/subquery_sj_mat.result
      Mostly changes to filtered, rows and cost estimates. Eight
      queries have real plan changes. Seven of these returns to
      the plan they had before WL#6635.
    @ mysql-test/r/subquery_sj_mat_bka.result
      Mostly changes to filtered, rows and cost estimates. Eight
      queries have real plan changes. Seven of these returns to
      the plan they had before WL#6635.
    @ mysql-test/r/subquery_sj_mat_bka_nixbnl.result
      Mostly changes to filtered, rows and cost estimates. Seven
      queries have real plan changes. Six of these returns to
      the plan they had before WL#6635.
    @ mysql-test/r/subquery_sj_mat_bkaunique.result
      Mostly changes to filtered, rows and cost estimates. Eight
      queries have real plan changes. Seven of these returns to
      the plan they had before WL#6635.
    @ mysql-test/r/subquery_sj_mat_nosj.result
      Changes to filtered and cost estimates in explain output.
    @ mysql-test/r/subquery_sj_none.result
      Changes to filtered, rows and cost estimates in explain output.
    @ mysql-test/r/subquery_sj_none_bka.result
      Changes to filtered, rows and cost estimates in explain output.
    @ mysql-test/r/subquery_sj_none_bka_nixbnl.result
      Changes to filtered, rows and cost estimates in explain output.
    @ mysql-test/r/subquery_sj_none_bkaunique.result
      Changes to filtered, rows and cost estimates in explain output.
    @ mysql-test/r/subselect_innodb.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/type_temporal_fractional.result
      Changes in filtered estimate in explain output.
    @ mysql-test/r/wl6711_heap_to_disk.result
      Changes in filtered estimate in explain output.
    @ mysql-test/suite/innodb/r/innodb_lock_wait_timeout_1.result
      Changes in filtered estimate in explain output.
    @ mysql-test/suite/opt_trace/r/general2_no_prot.result
      Changes in rows and cost estimates in explain output.
    @ mysql-test/suite/opt_trace/r/general2_ps_prot.result
      Changes in rows and cost estimates in explain output.
    @ mysql-test/suite/opt_trace/r/range_no_prot.result
      Changes in filtered and rows estimates in explain output.
    @ mysql-test/suite/opt_trace/r/range_ps_prot.result
      Changes in filtered estimate in explain output.
    @ mysql-test/suite/opt_trace/r/subquery_no_prot.result
      Changes in filtered, rows and cost estimates in explain output.
    @ mysql-test/suite/opt_trace/r/subquery_ps_prot.result
      Changes in filtered, rows and cost estimates in explain output.
    @ mysql-test/suite/parts/r/partition_alter3_innodb.result
      Changes in filtered estimate in explain output.
    @ mysql-test/suite/parts/r/partition_alter3_myisam.result
      Changes in filtered estimate in explain output.
    @ mysql-test/suite/perfschema/r/batch_table_io_func.result
      Changes in filtered estimate in explain output.
    @ sql/item.h
      Change the value for the condition filter constant COND_FILTER_EQUALITY
      from 0.005 to 0.1.
    @ unittest/gunit/item_filter-t.cc
      Change in unit test for condition filter for IN lists:
      Reduced from having six values in the IN list to four
      values. The reason is that with six values in the
      IN list the calculated condition filter will be larger
      than 0.5 and then rounded down to 0.5.
Loading