Hi Mattias,
mattiasj@stripped, 08.04.2008 10:02:
...
> ChangeSet@stripped, 2008-04-08 10:02:44+02:00, mattiasj@witty. +8 -0
> Bug#35745: SELECT COUNT(*) is not correct for some partitioned tables.
>
> problem was that ha_partition::records was not implemented, thus
> using the default handler::records, which is not correct if the engine
> does not support HA_STATS_RECORDS_IS_EXACT.
>
> Solution was to implement ha_partition::records as a wrapper around
> the underlying partitions records.
>
> The rows column in explain partitions will now include the total
> number of records in the partitioned table.
...
> -1 SIMPLE t1 p0,p2,p3 ALL NULL NULL NULL NULL 7 Using where
> +1 SIMPLE t1 p0,p2,p3 ALL NULL NULL NULL NULL 9 Using where
Assuming that you checked all these differences for correctness, I
approve the patch.
...
> +ha_rows ha_partition::records()
> +{
> + ha_rows rows, tot_rows= 0;
Me, personally, is not a friend of mixing initialized and
non-initialized declarations on one line. But we don't have a rule for
it AFAIK.
Regards
Ingo
--
Ingo Strüwing, Senior Software Developer
MySQL GmbH, Dachauer Str. 37, D-80335 München
Geschäftsführer: Kaj Arnö - HRB München 162140