mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 13:02:28 +01:00
5b8cdbf4a6
for ENGINE=MRG_MYISAM (should be optimized out). Before WL#3281 MERGE engine had the HA_NOT_EXACT_COUNT flag unset, and it worked with COUNT optimization as desired. After the removal of the HA_NOT_EXACT_COUNT flag neither HA_STATS_RECORDS_IS_EXACT (opposite to former HA_NOT_EXACT_COUNT flag) nor modern HA_HAS_RECORDS flag were not added to MERGE table flag mask. 1. The HA_HAS_RECORDS table flag has been set. 2. The ha_myisammrg::records method has been overridden to calculate total number of records in underlying tables. storage/myisammrg/myrg_records.c: Fixed bug#36006: Optimizer does table scan for select count(*). The myrg_records function has been added to calculate total number of records in underlying tables. include/myisammrg.h: Fixed bug#36006: Optimizer does table scan for select count(*). The myrg_records function declaration has been added. mysql-test/r/merge.result: Added test case for bug#36006. mysql-test/t/merge.test: Added test case for bug#36006. storage/myisammrg/CMakeLists.txt: Fixed bug#36006: Optimizer does table scan for select count(*). New myrg_records.c file has been added. storage/myisammrg/Makefile.am: Fixed bug#36006: Optimizer does table scan for select count(*). New myrg_records.c file has been added. storage/myisammrg/ha_myisammrg.cc: Fixed bug#36006: Optimizer does table scan for select count(*). The ha_myisammrg::records method has been overridden. storage/myisammrg/ha_myisammrg.h: Fixed bug#36006: Optimizer does table scan for select count(*). 1. The HA_HAS_RECORDS table flag has been set. 2. The ha_myisammrg::records method has been overridden. |
||
---|---|---|
.. | ||
.cvsignore | ||
CMakeLists.txt | ||
ha_myisammrg.cc | ||
ha_myisammrg.h | ||
make-ccc | ||
Makefile.am | ||
myrg_close.c | ||
myrg_create.c | ||
myrg_def.h | ||
myrg_delete.c | ||
myrg_extra.c | ||
myrg_info.c | ||
myrg_locking.c | ||
myrg_open.c | ||
myrg_panic.c | ||
myrg_queue.c | ||
myrg_range.c | ||
myrg_records.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 | ||
plug.in |