• pappa@c-5608e253.1238-1-64736c10.cust.bredbandsbolaget.se's avatar
    Bug #12796: Record lost in HEAP table · 4282ad92
    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 added to whenever statistics was considered in need
    of update (previously key_stats_ok= FALSE in those places)
    2) Add a new handler variable key_stat_version assigned whenever key_stats_ok= TRUE was set
    previously
    3) Fix records_in_range to return records if records <= 1
    4) Fix records_in_range to add 2 to rec_per_key to ensure we don't specify 0 or 1 when it isn't
    and thus invoking incorrect optimisations.
    5) Fix unique key handling for HEAP table in records_in_range
    4282ad92
ha_heap.h 3.65 KB