Skip to content
  • Kevin Lewis's avatar
    1e280ea6
    Bug #22615096 · 1e280ea6
    Kevin Lewis authored
    INNODB: DO NOT ALLOW TRANSPARENT PAGE COMPRESSION ON A GENERAL TABLESPACE
    
    Fix validation code for Transparent Page Compression.
    The previous code allowed innodb_strict_mode=OFF by ignoring COMPRESSION=
    when it could not be used.  So we have to keep that since FRM files may
    contain invalid create options using COMPRESSION.
    
    Validation code is improved to notice and report all bad combinations.
    The rule imposed for any table that uses TABLESPACE= is that innodb-struct-mode=OFF
    is ignored and the CREATE TABLE is validated as if it =ON.  So one can no longer
    CREATE new tables in a TABLESPACE where the FRM file indicates a COMPRESSION=.
    
    The test case is improved to:
    1) run on any OS by making a debug InnoDB ignore Punch Hole if it is
       not available or has a Punch Hole Size too big to use.
    2) cover many more combinations of CREATE and ALTER options and use cases.
    
    Approved by Allen and Sunny in rb#11718
    1e280ea6
    Bug #22615096
    Kevin Lewis authored
    INNODB: DO NOT ALLOW TRANSPARENT PAGE COMPRESSION ON A GENERAL TABLESPACE
    
    Fix validation code for Transparent Page Compression.
    The previous code allowed innodb_strict_mode=OFF by ignoring COMPRESSION=
    when it could not be used.  So we have to keep that since FRM files may
    contain invalid create options using COMPRESSION.
    
    Validation code is improved to notice and report all bad combinations.
    The rule imposed for any table that uses TABLESPACE= is that innodb-struct-mode=OFF
    is ignored and the CREATE TABLE is validated as if it =ON.  So one can no longer
    CREATE new tables in a TABLESPACE where the FRM file indicates a COMPRESSION=.
    
    The test case is improved to:
    1) run on any OS by making a debug InnoDB ignore Punch Hole if it is
       not available or has a Punch Hole Size too big to use.
    2) cover many more combinations of CREATE and ALTER options and use cases.
    
    Approved by Allen and Sunny in rb#11718
Loading