• Alexander Barkov's avatar
    MDEV-17363 - Compressed columns cannot be restored from dump · 5352e968
    Alexander Barkov authored
    In collaboration with Sergey Vojtovich <svoj@mariadb.org>
    
    The COMPRESSED clause is now a part of the data type and goes immediately
    after the data type and length, but before the CHARACTER SET clause,
    and before column attributes such as DEFAULT, COLLATE, ON UPDATE,
    SYSTEM VERSIONING, engine specific column attributes.
    
    In the old reduction, the COMPRESSED clause was a column attribute.
    
    New syntax:
      <varchar or text data type> <length> <compression> <character set> <column attributes>
      <varbinary or blob data type> <length> <compression> <column attributes>
    
    New syntax examples:
      VARCHAR(1000) COMPRESSED CHARACTER SET latin1 DEFAULT ''
      BLOB COMPRESSED DEFAULT ''
    
    Deprecate syntax examples:
      VARCHAR(1000) CHARACTER SET latin1 COMPRESSED DEFAULT ''
      TEXT          CHARACTER SET latin1 DEFAULT '' COMPRESSED
      VARBINARY(1000) DEFAULT '' COMPRESSED
    
    As a side effect:
    - COMPRESSED is not valid as an SP label name in SQL/PSM routines any more
      (but it's still valid as an SP label name in sql_mode=ORACLE)
    
    - COMPRESSED is now allowed in combination with GENERATED ALWAYS AS:
    
      TEXT COMPRESSED GENERATED ALWAYS AS REPEAT('a',1000)
    5352e968
keywords.test 8.13 KB