-
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