• unknown's avatar
    Bug#20719 - Reading dynamic records with write buffer could fail · 11cee384
    unknown authored
    Fixed a possible problem with reading of dynamic records
    when a write cache is active. The cache must be flushed
    whenever a part of the file in the write cache is to be 
    read.
    
    Added a read optimization to _mi_read_dynamic_record().
    
    No test case. This was a hypothetical but existing problem.
    
    
    myisam/mi_dynrec.c:
      Bug#20719 - Reading dynamic records with write buffer could fail
      
      Fixed a possible problem with reading of dynamic records
      when a write cache is active. The cache must be flushed
      whenever a part of the file in the write cache is to be 
      read. This must be done before the read of the header
      and before the read of the rest block.
      
      Renamed the 'flag' and 'skipp_deleted_blocks' variables.
      
      Added a read optimization to _mi_read_dynamic_record()
      that was present in _mi_read_rnd_dynamic_record() already.
      After _mi_get_block_info() we have some bytes of the record
      in the header buffer already. No need to read them again.
    11cee384
mi_dynrec.c 47 KB