You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
1.8 KiB

  1. --source include/have_innodb.inc
  2. SET SESSION STORAGE_ENGINE='InnoDB';
  3. select @@global.use_stat_tables;
  4. select @@session.use_stat_tables;
  5. set @save_use_stat_tables=@@use_stat_tables;
  6. set use_stat_tables='preferably';
  7. --disable_warnings
  8. DROP DATABASE IF EXISTS dbt3_s001;
  9. --enable_warnings
  10. CREATE DATABASE dbt3_s001;
  11. use dbt3_s001;
  12. set @save_optimizer_switch=@@optimizer_switch;
  13. set optimizer_switch='extended_keys=off';
  14. --disable_query_log
  15. --disable_result_log
  16. --disable_warnings
  17. --source include/dbt3_s001.inc
  18. delete from mysql.table_stats;
  19. delete from mysql.column_stats;
  20. delete from mysql.index_stats;
  21. ANALYZE TABLE
  22. customer, lineitem, nation, orders, part, partsupp, region, supplier;
  23. --enable_warnings
  24. --enable_result_log
  25. --enable_query_log
  26. --echo #
  27. --echo # Bug mdev-503: optimizer ignores setting use_stat_tables='preferably'
  28. --echo #
  29. flush tables
  30. customer, lineitem, nation, orders, part, partsupp, region, supplier;
  31. let $Q3S=
  32. select sql_calc_found_rows straight_join
  33. l_orderkey, sum(l_extendedprice*(1-l_discount)) as revenue,
  34. o_orderdate, o_shippriority
  35. from orders, customer, lineitem
  36. where c_mktsegment = 'BUILDING' and c_custkey = o_custkey
  37. and l_orderkey = o_orderkey and o_orderdate < date '1995-03-15'
  38. and l_shipdate > date '1995-03-15'
  39. group by l_orderkey, o_orderdate, o_shippriority
  40. order by revenue desc, o_orderdate
  41. limit 10;
  42. set use_stat_tables='never';
  43. --replace_column 9 #
  44. eval EXPLAIN $Q3S;
  45. set use_stat_tables='preferably';
  46. --replace_result 2 1
  47. eval EXPLAIN $Q3S;
  48. flush tables customer, orders, lineitem;
  49. eval EXPLAIN $Q3S;
  50. --echo # End of the test case for mdev-503
  51. set optimizer_switch=@save_optimizer_switch;
  52. DROP DATABASE dbt3_s001;
  53. use test;
  54. set use_stat_tables=@save_use_stat_tables;
  55. SET SESSION STORAGE_ENGINE=DEFAULT;