• Michael Widenius's avatar
    Fixes lp:805930 Sysbench breaks on multiple table test with MariaDB 5.2.7 + Aria · 10065404
    Michael Widenius authored
    The bug happens when one uses MAX_ROWS=# with Aria & row_format=page and one insert more than # rows.
    
    
    mysql-test/mysql-test-run.pl:
      Ignore table is full error messages
    mysql-test/suite/maria/r/max_length.result:
      Test case for 'Table is full'
    mysql-test/suite/maria/t/max_length.test:
      Test case for 'Table is full'
    storage/maria/ma_bitmap.c:
      Ensure that we don't allocate bits outside of max_data_file_size.
      Adjust max_data_file_size based on bitmap alignments.
      Backport fix to adjust wrong first_bitmap_with_space.
    storage/maria/ma_blockrec.c:
      Calculate value of max_data_file_length
    storage/maria/ma_blockrec.h:
      Updated prototype for _ma_bitmap_init()
    storage/maria/ma_check.c:
      Give warnings if file sizes are above max file sizes.
      Give more warnings in case of errors.
      Have maria_chk write if table is recreated.
    storage/maria/ma_create.c:
      Better calculation of max_data_file_length and thus data pointer length.
      Fixes some wrong pointer lengths when using MAX_ROWS=#
    storage/maria/ma_open.c:
      Removed duplicate assigment.
      Use block size from file instead of global variable.
    storage/maria/maria_chk.c:
      Remove -1 from printed file length
    storage/maria/maria_def.h:
      Update struct st_maria_file_bitmap
    10065404
ma_blockrec.c 244 KB