mariadb/storage
unknown 5b8cdbf4a6 Fixed bug#36006: Optimizer does table scan for SELECT COUNT(*)
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.
2008-04-26 02:45:58 +05:00
..
archive Merge trift2.:/MySQL/M51/mysql-5.1 2008-03-27 12:45:16 +01:00
blackhole Merge mysql1000.(none):/home/andrei/MySQL/MERGE/5.0-main2rpl 2008-03-29 15:00:12 +02:00
csv
example
federated Merge trift2.:/MySQL/M51/mysql-5.1 2008-03-27 12:45:16 +01:00
heap
innobase Merge debian.(none):/MySQL/M51/mysql-5.1 2008-03-28 17:07:56 +02:00
myisam Merge bk-internal:/home/bk/mysql-5.1 2008-03-31 10:40:39 +03:00
myisammrg Fixed bug#36006: Optimizer does table scan for SELECT COUNT(*) 2008-04-26 02:45:58 +05:00
ndb Merge trift2.:/MySQL/M51/ndb-decl-5.1 2008-03-27 13:20:24 +01:00
Makefile.am