• kevin.lewis@oracle.com's avatar
    In this patch, existing tests innodb_bug54679.test and innodb_bug56632.test are · 8cf52ba1
    kevin.lewis@oracle.com authored
    removed and replaced by the comprehensive innodb-create-options.test.
    It uses the rules listed in the comments at the top of that test.
      
    This patch introduces these differences from previous behavior;
    1)  KEY_BLOCK_SIZE=0 is allowed by Innodb in both strict and non-strict mode
    with no errors or warnings. It was previously used by the server to set 
    KEY_BLOCK_SIZE to undefined.  (Bug#56628)
    2)  An explicit valid non-DEFAULT ROW_FORMAT always takes priority over a
    valid KEY_BLOCK_SIZE. (bug#56632)
    3)  Automatic use of COMPRESSED row format is only done if the ROW_FORMAT
    is DEFAULT or unspecified.
    4)  ROW_FORMAT=FIXED is prevented in strict mode.
    
    This patch also includes various formatting changes for consistency with
    InnoDB coding standards.
    
    Related Bugs
    Bug#54679: ALTER TABLE causes compressed row_format to revert to compact
    Bug#56628: ALTER TABLE .. KEY_BLOCK_SIZE=0 produces untrue warning or unnecessary error
    Bug#56632: ALTER TABLE implicitly changes ROW_FORMAT to COMPRESSED
    8cf52ba1
ha_innodb.cc 327 KB