From 38b9f73347dafe5272320e3fa8e952fa076e4ff0 Mon Sep 17 00:00:00 2001 From: "sergefp@mysql.com" <> Date: Thu, 30 Dec 2004 14:40:24 +0300 Subject: [PATCH] Fix for BUG#7264: Change the test so optimizer doesn't have to make choice between two with [nearly] identical costs. --- mysql-test/r/func_group.result | 26 ++++++++++++++------------ mysql-test/t/func_group.test | 1 + 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/mysql-test/r/func_group.result b/mysql-test/r/func_group.result index 73fea8ed258..df95193043e 100644 --- a/mysql-test/r/func_group.result +++ b/mysql-test/r/func_group.result @@ -315,6 +315,7 @@ insert into t1 values('GTM',3,'DAL',0.070,date'1977-09-23'); insert into t1 values('SSJ',null,'CHI',null,date'1974-03-19'); insert into t1 values('KKK',3,'ATL',null,null); insert into t1 values('XXX',null,'MIN',null,null); +insert into t1 values('WWW',1,'LED',null,null); insert into t2 values('TKF','Seattle','WA','AME'); insert into t2 values('LCC','Los Angeles','CA','TWU'); insert into t2 values('DEN','Denver','CO','BDL'); @@ -338,6 +339,7 @@ GTM 3 DAL 0.07 1977-09-23 SSJ NULL CHI NULL 1974-03-19 KKK 3 ATL NULL NULL XXX NULL MIN NULL NULL +WWW 1 LED NULL NULL select * from t2; a1 a2 a3 a4 TKF Seattle WA AME @@ -574,15 +576,15 @@ AME AME explain select min(a1) from t1 where a1 > 'KKK' or a1 < 'XXX'; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index PRIMARY PRIMARY 3 NULL 14 Using where; Using index +1 SIMPLE t1 index PRIMARY PRIMARY 3 NULL 15 Using where; Using index explain select min(a1) from t1 where a1 != 'KKK'; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index PRIMARY PRIMARY 3 NULL 14 Using where; Using index +1 SIMPLE t1 index PRIMARY PRIMARY 3 NULL 15 Using where; Using index explain select max(a3) from t1 where a2 < 2 and a3 < 'SEA'; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range k1 k1 3 NULL 5 Using where; Using index +1 SIMPLE t1 range k1 k1 3 NULL 6 Using where; Using index explain select max(t1.a3), min(t2.a2) from t1, t2 where t1.a2 = 2 and t1.a3 < 'MIN' and t2.a3 > 'CA'; id select_type table type possible_keys key key_len ref rows Extra @@ -591,40 +593,40 @@ id select_type table type possible_keys key key_len ref rows Extra explain select min(a4 - 0.01) from t1; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index NULL k2 12 NULL 14 Using index +1 SIMPLE t1 index NULL k2 12 NULL 15 Using index explain select max(a4 + 0.01) from t1; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index NULL k2 12 NULL 14 Using index +1 SIMPLE t1 index NULL k2 12 NULL 15 Using index explain select min(a3) from t1 where (a2 +1 ) is null; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index NULL k1 7 NULL 14 Using where; Using index +1 SIMPLE t1 index NULL k1 7 NULL 15 Using where; Using index explain select min(a3) from t1 where (a2 + 1) = 2; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index NULL k1 7 NULL 14 Using where; Using index +1 SIMPLE t1 index NULL k1 7 NULL 15 Using where; Using index explain select min(a3) from t1 where 2 = (a2 + 1); id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index NULL k1 7 NULL 14 Using where; Using index +1 SIMPLE t1 index NULL k1 7 NULL 15 Using where; Using index explain select min(a2) from t1 where a2 < 2 * a2 - 8; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index NULL k1 7 NULL 14 Using where; Using index +1 SIMPLE t1 index NULL k1 7 NULL 15 Using where; Using index explain select min(a1) from t1 where a1 between a3 and 'KKK'; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 14 Using where +1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 15 Using where explain select min(a4) from t1 where (a4 + 0.01) between 0.07 and 0.08; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index NULL k2 12 NULL 14 Using where; Using index +1 SIMPLE t1 index NULL k2 12 NULL 15 Using where; Using index explain select concat(min(t1.a1),min(t2.a4)) from t1, t2 where t2.a4 <> 'AME'; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t2 range k2 k2 4 NULL 6 Using where; Using index -1 SIMPLE t1 index NULL PRIMARY 3 NULL 14 Using index +1 SIMPLE t1 index NULL PRIMARY 3 NULL 15 Using index drop table t1, t2; create table t1 (USR_ID integer not null, MAX_REQ integer not null, constraint PK_SEA_USER primary key (USR_ID)) engine=InnoDB; insert into t1 values (1, 3); diff --git a/mysql-test/t/func_group.test b/mysql-test/t/func_group.test index 5e3881d74ed..9a06d07149e 100644 --- a/mysql-test/t/func_group.test +++ b/mysql-test/t/func_group.test @@ -216,6 +216,7 @@ insert into t1 values('GTM',3,'DAL',0.070,date'1977-09-23'); insert into t1 values('SSJ',null,'CHI',null,date'1974-03-19'); insert into t1 values('KKK',3,'ATL',null,null); insert into t1 values('XXX',null,'MIN',null,null); +insert into t1 values('WWW',1,'LED',null,null); # Populate table t2 insert into t2 values('TKF','Seattle','WA','AME');