Bug 12796: Record lost in HEAP table
Two handler objects were present, one was used for an insert and the
other for a select. The state of the
statistics was local to the handler object and thus the other handler
object didn't notice the insert.
Fix included:
1) Add a new variable key_stat_version to share object in HEAP handler,
do ++ on this whenever statistics
needs an update (where key_stats_ok= FALSE previously)
2) Change key_stats_ok variable to key_stat_version (uint) which is
assigned from share->key_stat_version
where previously key_stats_ok= TRUE;
3) Fix records_in_range to return records if (records <= 1)
4) Fix records_in_range to always return records >= 2 if not unique key
and records >= 2.
5) Fixed unique key handling for HEAP table in records_in_range
This patch is temporary, it is not yet completely functional
Mikael Ronstrom, Senior Software Architect
MySQL AB, www.mysql.com
Jumpstart your cluster:
http://www.mysql.com/consulting/packaged/cluster.html
My blog:
http://mikaelronstrom.blogspot.com
| Thread |
|---|
| • bk commit - 4.1 tree (mikael:...) BUG #12796 | Mikael Ronström | 8 Nov |