******************CASE0****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7. ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 > 1000 or (c1 > 2000 and c1 < 3000); SELECTIVITY = 0.7 ******************CASE1****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 1; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where 1; SELECTIVITY = 1 ******************CASE2****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 1; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where 1 > 0; SELECTIVITY = 1 ******************CASE3****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where 0; SELECTIVITY = 0 ******************CASE4****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where null; SELECTIVITY = 0 ******************CASE5****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 = 999; SELECTIVITY = 0.7 ******************CASE6****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 = 10001; SELECTIVITY = 0.7 ******************CASE7****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 = 1000; SELECTIVITY = 0.7 ******************CASE8****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.3 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 <=> null; SELECTIVITY = 0.3 ******************CASE9****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 = null; SELECTIVITY = 0 ******************CASE10****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 + 1 = 1000; SELECTIVITY = 0.7 ******************CASE11****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 * 2 = 1000; SELECTIVITY = 0.7 ******************CASE12****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.005(DEFAULT_EQ_SEL) ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 / 2 = 1000; SELECTIVITY = 0.005 ******************CASE13****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 - 100 = 1000; SELECTIVITY = 0.7 ******************CASE14****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 > null; SELECTIVITY = 0 ******************CASE15****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 1; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 > null or 1 > 0; SELECTIVITY = 1 ******************CASE16****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 > null or 1 > 2; SELECTIVITY = 0 ******************CASE17****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 < null; SELECTIVITY = 0 ******************CASE18****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 > 30; SELECTIVITY = 0.7 ******************CASE19****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 < 50; SELECTIVITY = 0.7 ******************CASE20****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 1.0/3.0 as not calc ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 + 1 > 5; SELECTIVITY = 0.333333 ******************CASE21****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 > 2000; SELECTIVITY = 0.7 ******************CASE22****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 >= 2000; SELECTIVITY = 0.7 ******************CASE23****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 < 5000; SELECTIVITY = 0.7 ******************CASE24****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 <= 5000; SELECTIVITY = 0.7 ******************CASE25****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 <= 500; SELECTIVITY = 0.7 ******************CASE26****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 >= 10000; SELECTIVITY = 0.7 ******************CASE27****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.35 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 != 500; SELECTIVITY = 0.35 ******************CASE28****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.35 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 != 50; SELECTIVITY = 0.35 ******************CASE29****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.35 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 + 1 != 50; SELECTIVITY = 0.35 ******************CASE30****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.35 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 * 2 != 50; SELECTIVITY = 0.35 ******************CASE31****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.35 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 / 2 != 50; SELECTIVITY = 0.5 ******************CASE32****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 > 2000 and c1 < 3000; SELECTIVITY = 0.7 ******************CASE33****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 > 10000 and c1 > 500; SELECTIVITY = 0.7 ******************CASE34****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 < 10000 and c1 > 500; SELECTIVITY = 0.7 ******************CASE35****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7(should be) ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 < 500 or c1 > 10000; SELECTIVITY = 0.7 ******************CASE36****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7(should be) ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 > 2000 or c1 < 1000; SELECTIVITY = 0.7 ******************CASE37****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7(should be) ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 > 2000 or c1 < 1000 or c1 < 500; SELECTIVITY = 0.7 ******************CASE38****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7(should be) ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 > 2000 or (c1 < 1000 and c1 > 500); SELECTIVITY = 0.7 ******************CASE39****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 < 1000 and c1 > 500; SELECTIVITY = 0.7 ******************CASE40****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 < 1000 or (c1 > 9000 and c1 > 2000 and c1 < 8000); SELECTIVITY = 0.7 ******************CASE41****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 < 500 or (c1 > 10000 and c1 > 10001 and c1 < 499); SELECTIVITY = 0.7 ******************CASE42****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.3 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 is null; SELECTIVITY = 0.3 ******************CASE43****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.35 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 is false; SELECTIVITY = 0.35 ******************CASE44****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.35 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 is true; SELECTIVITY = 0.35 ******************CASE45****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 is not null; SELECTIVITY = 0.7 ******************CASE46****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.65 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 is not false; SELECTIVITY = 0.65 ******************CASE47****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.65 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 is not true; SELECTIVITY = 0.65 ******************CASE48****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0 ---------------------------------------------------------- EXPR_STR: select * from t1 where not 1; SELECTIVITY = 0 ******************CASE49****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 1; ---------------------------------------------------------- EXPR_STR: select * from t1 where not 0; SELECTIVITY = 1 ******************CASE50****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7; ---------------------------------------------------------- EXPR_STR: select * from t1 where not c1 > 2000; SELECTIVITY = 0.7 ******************CASE51****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7(should be) ---------------------------------------------------------- EXPR_STR: select * from t1 where not (c1 > 2000 and c1 < 3000); SELECTIVITY = 0.7 ******************CASE52****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.35; ---------------------------------------------------------- EXPR_STR: select * from t1 where not c1 in (2000, 3000); SELECTIVITY = 0.35 ******************CASE53****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 1/500*0.99 * 3; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 in (500, 8000, 10000); SELECTIVITY = 1 ******************CASE54****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select square(1/500*0.99) * 2 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where (c1,c2) in ((500, 8000), (8000, 10000)); SELECTIVITY = 0.98 ******************CASE55****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 1; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where (200) in (100, 200); SELECTIVITY = 1 ******************CASE56****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 1; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where (200) in (100, 300, 400, 200); SELECTIVITY = 1 ******************CASE57****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where (200) in (100, 300, 400, 500); SELECTIVITY = 0 ******************CASE58****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 1; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where (200) in (c1, 300, 400, 500); SELECTIVITY = 0.7 ******************CASE59****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 1; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where (c1) in (c1, 300, 400, 500); SELECTIVITY = 1 ******************CASE60****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.35 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 not in (500, 8000, 10000); SELECTIVITY = 0.35 ******************CASE61****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.35 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 not in (500, 1000); SELECTIVITY = 0.35 ******************CASE62****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.02 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where (c1,c2) not in ((500, 8000), (8000, 10000)); SELECTIVITY = 0.02 ******************CASE63****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 between 1000 and 10000; SELECTIVITY = 0.7 ******************CASE64****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7(should be) ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 not between 1000 and 10000; SELECTIVITY = 0.7 ******************CASE65****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 between 1000 and 1000; SELECTIVITY = 0.7 ******************CASE66****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7(should be) ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 not between 1000 and 1000; SELECTIVITY = 0.7 ******************CASE67****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 between 10000 and 1000; SELECTIVITY = 0 ******************CASE68****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7(should be) ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 not between 10000 and 1000; SELECTIVITY = 0.7 ******************CASE69****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 >= 10000 and c1<=1000; SELECTIVITY = 0 ******************CASE70****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where 1000 between c1 and 1000; SELECTIVITY = 0.7 ******************CASE71****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where 1000 not between c1 and 1000; SELECTIVITY = 0.333333 ******************CASE72****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where 1000 between 10000 and c1; SELECTIVITY = 0.7 ******************CASE73****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where 2000 between 1000 and c1; SELECTIVITY = 0.7 ******************CASE74****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 1; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where 1 between 0 and 1; SELECTIVITY = 1 ******************CASE75****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0; ---------------------------------------------------------- EXPR_STR: select c1 from t1 where 100 between 0 and 1; SELECTIVITY = 0 ******************CASE76****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 ---------------------------------------------------------- EXPR_STR: select t1.c1 from t1,t2 where t1.c1 = t2.c1; SELECTIVITY = 0.49 ******************CASE77****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 ---------------------------------------------------------- EXPR_STR: select t1.c1 from t1,t2 where t1.c1 + 1 = t2.c1; SELECTIVITY = 0.7 ******************CASE78****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 ---------------------------------------------------------- EXPR_STR: select t1.c1 from t1,t2 where t1.c1 + 1 = t2.c1 + 1; SELECTIVITY = 0.7 ******************CASE79****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 ---------------------------------------------------------- EXPR_STR: select t1.c1 from t1,t2 where t1.c1 * 2 = t2.c1 + 1; SELECTIVITY = 0.7 ******************CASE80****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.005(DEFAULT_EQ_SEL) ---------------------------------------------------------- EXPR_STR: select t1.c1 from t1,t2 where t1.c1 / 2 = t2.c1 + 1; SELECTIVITY = 0.005 ******************CASE81****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 * (1/3); ---------------------------------------------------------- EXPR_STR: select t1.c1 from t1,t2 where t1.c1 = t2.c1 and t1.c2 > t2.c2; SELECTIVITY = 0.163333 ******************CASE82****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 1/3; ---------------------------------------------------------- EXPR_STR: select t1.c1 from t1, t2 where t1.c1 < t2.c2; SELECTIVITY = 0.333333 ******************CASE83****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.5; ---------------------------------------------------------- EXPR_STR: select t1.c1 from t1, t2 where t1.c1 != t2.c2; SELECTIVITY = 0.5 ******************CASE84****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 = (select c2 from t1 where c2 >= 10000); SELECTIVITY = 0.7 ******************CASE85****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 1.0 / 3.0 (DEFAULT_INEQ_SEL) ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 > (select c2 from t1 where c2 >= 10000); SELECTIVITY = 0.333333 ******************CASE86****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :todo. 0.35 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 != (select c2 from t1 where c2 >= 10000); SELECTIVITY = 0.35 ******************CASE87****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :todo. DEFAULT_SEL ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 in (select c2 from t1 where c2 = 10000); SELECTIVITY = 0.5 ******************CASE88****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :todo. DEFAULT_SEL ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 = ANY (select c2 from t1 where c2 > 1000); SELECTIVITY = 0.5 ******************CASE89****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :todo. DEFAULT_SEL ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 != ANY (select c2 from t1 where c2 > 1000); SELECTIVITY = 0.5 ******************CASE90****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :todo. DEFAULT_SEL ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 = SOME (select c2 from t1 where c2 > 1000); SELECTIVITY = 0.5 ******************CASE91****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :todo. DEFAULT_SEL ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 != SOME (select c2 from t1 where c2 > 1000); SELECTIVITY = 0.5 ******************CASE92****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :todo. DEFAULT_SEL ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 = ALL (select c2 from t1 where c2 > 1000); SELECTIVITY = 0.5 ******************CASE93****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :todo. DEFAULT_SEL ---------------------------------------------------------- EXPR_STR: select c1 from t1 where c1 != ALL (select c2 from t1 where c2 > 1000); SELECTIVITY = 0.5 ******************CASE94****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 * 0.7 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where (c1, c2) = (2000, 10000); SELECTIVITY = 0.49 ******************CASE95****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :todo. 0.5 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where (c1, c2) != (2000, 10000); SELECTIVITY = 0.5 ******************CASE96****************** min = 1000, max = 1000, ndv = 1, null_num = 3000 the ratio of not null row is (10000-3000)/10000 = 0.7 for range cond : if half_open min_selectivity = 20/DNV, else min_selectivity = 10/DNV EXPECTED RESULT :select 0.7 ---------------------------------------------------------- EXPR_STR: select c1 from t1 where (c1, c2) > (2000, 10000); SELECTIVITY = 0.7