Loading include/myisammrg.h +1 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,7 @@ extern int myrg_reset(MYRG_INFO *info); extern void myrg_extrafunc(MYRG_INFO *info,invalidator_by_filename inv); extern ha_rows myrg_records_in_range(MYRG_INFO *info, int inx, key_range *min_key, key_range *max_key); extern ha_rows myrg_records(MYRG_INFO *info); extern ulonglong myrg_position(MYRG_INFO *info); #ifdef __cplusplus Loading mysql-test/r/merge.result +16 −0 Original line number Diff line number Diff line Loading @@ -2006,3 +2006,19 @@ test.t1 optimize status OK FLUSH TABLES m1, t1; UNLOCK TABLES; DROP TABLE t1, m1; CREATE TABLE t1(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; CREATE TABLE t2(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; CREATE TABLE t3(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; CREATE TABLE t4(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MRG_MYISAM UNION=(t1, t2, t3); INSERT INTO t1 VALUES (1,1), (1,2),(1,3), (1,4); INSERT INTO t2 VALUES (2,1), (2,2),(2,3), (2,4); INSERT INTO t3 VALUES (3,1), (3,2),(3,3), (3,4); EXPLAIN SELECT COUNT(*) FROM t1; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Select tables optimized away EXPLAIN SELECT COUNT(*) FROM t4; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Select tables optimized away DROP TABLE t1, t2, t3, t4; End of 5.1 tests mysql-test/t/merge.test +16 −0 Original line number Diff line number Diff line Loading @@ -1394,3 +1394,19 @@ FLUSH TABLES m1, t1; UNLOCK TABLES; DROP TABLE t1, m1; # # Bug#36006 - Optimizer does table scan for select count(*) # CREATE TABLE t1(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; CREATE TABLE t2(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; CREATE TABLE t3(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; CREATE TABLE t4(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MRG_MYISAM UNION=(t1, t2, t3); INSERT INTO t1 VALUES (1,1), (1,2),(1,3), (1,4); INSERT INTO t2 VALUES (2,1), (2,2),(2,3), (2,4); INSERT INTO t3 VALUES (3,1), (3,2),(3,3), (3,4); EXPLAIN SELECT COUNT(*) FROM t1; EXPLAIN SELECT COUNT(*) FROM t4; DROP TABLE t1, t2, t3, t4; --echo End of 5.1 tests storage/myisammrg/CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ SET(MYISAMMRG_SOURCES myrg_close.c myrg_create.c myrg_delete.c myrg_extra.c myr myrg_locking.c myrg_open.c myrg_panic.c myrg_queue.c myrg_range.c myrg_rfirst.c myrg_rkey.c myrg_rlast.c myrg_rnext.c myrg_rnext_same.c myrg_rprev.c myrg_rrnd.c myrg_rsame.c myrg_static.c myrg_update.c myrg_write.c) myrg_write.c myrg_records.c) IF(NOT SOURCE_SUBLIBS) ADD_LIBRARY(myisammrg ${MYISAMMRG_SOURCES}) Loading storage/myisammrg/Makefile.am +1 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ libmyisammrg_a_SOURCES = myrg_open.c myrg_extra.c myrg_info.c myrg_locking.c \ myrg_rkey.c myrg_rfirst.c myrg_rlast.c myrg_rnext.c \ myrg_rprev.c myrg_queue.c myrg_write.c myrg_range.c \ ha_myisammrg.cc \ myrg_rnext_same.c myrg_rnext_same.c myrg_records.c EXTRA_DIST = CMakeLists.txt plug.in Loading Loading
include/myisammrg.h +1 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,7 @@ extern int myrg_reset(MYRG_INFO *info); extern void myrg_extrafunc(MYRG_INFO *info,invalidator_by_filename inv); extern ha_rows myrg_records_in_range(MYRG_INFO *info, int inx, key_range *min_key, key_range *max_key); extern ha_rows myrg_records(MYRG_INFO *info); extern ulonglong myrg_position(MYRG_INFO *info); #ifdef __cplusplus Loading
mysql-test/r/merge.result +16 −0 Original line number Diff line number Diff line Loading @@ -2006,3 +2006,19 @@ test.t1 optimize status OK FLUSH TABLES m1, t1; UNLOCK TABLES; DROP TABLE t1, m1; CREATE TABLE t1(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; CREATE TABLE t2(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; CREATE TABLE t3(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; CREATE TABLE t4(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MRG_MYISAM UNION=(t1, t2, t3); INSERT INTO t1 VALUES (1,1), (1,2),(1,3), (1,4); INSERT INTO t2 VALUES (2,1), (2,2),(2,3), (2,4); INSERT INTO t3 VALUES (3,1), (3,2),(3,3), (3,4); EXPLAIN SELECT COUNT(*) FROM t1; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Select tables optimized away EXPLAIN SELECT COUNT(*) FROM t4; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Select tables optimized away DROP TABLE t1, t2, t3, t4; End of 5.1 tests
mysql-test/t/merge.test +16 −0 Original line number Diff line number Diff line Loading @@ -1394,3 +1394,19 @@ FLUSH TABLES m1, t1; UNLOCK TABLES; DROP TABLE t1, m1; # # Bug#36006 - Optimizer does table scan for select count(*) # CREATE TABLE t1(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; CREATE TABLE t2(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; CREATE TABLE t3(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; CREATE TABLE t4(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MRG_MYISAM UNION=(t1, t2, t3); INSERT INTO t1 VALUES (1,1), (1,2),(1,3), (1,4); INSERT INTO t2 VALUES (2,1), (2,2),(2,3), (2,4); INSERT INTO t3 VALUES (3,1), (3,2),(3,3), (3,4); EXPLAIN SELECT COUNT(*) FROM t1; EXPLAIN SELECT COUNT(*) FROM t4; DROP TABLE t1, t2, t3, t4; --echo End of 5.1 tests
storage/myisammrg/CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ SET(MYISAMMRG_SOURCES myrg_close.c myrg_create.c myrg_delete.c myrg_extra.c myr myrg_locking.c myrg_open.c myrg_panic.c myrg_queue.c myrg_range.c myrg_rfirst.c myrg_rkey.c myrg_rlast.c myrg_rnext.c myrg_rnext_same.c myrg_rprev.c myrg_rrnd.c myrg_rsame.c myrg_static.c myrg_update.c myrg_write.c) myrg_write.c myrg_records.c) IF(NOT SOURCE_SUBLIBS) ADD_LIBRARY(myisammrg ${MYISAMMRG_SOURCES}) Loading
storage/myisammrg/Makefile.am +1 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ libmyisammrg_a_SOURCES = myrg_open.c myrg_extra.c myrg_info.c myrg_locking.c \ myrg_rkey.c myrg_rfirst.c myrg_rlast.c myrg_rnext.c \ myrg_rprev.c myrg_queue.c myrg_write.c myrg_range.c \ ha_myisammrg.cc \ myrg_rnext_same.c myrg_rnext_same.c myrg_records.c EXTRA_DIST = CMakeLists.txt plug.in Loading