• Alexander Barkov's avatar
    MDEV-28545 MyISAM reorganize partition corrupt older table format · f1bbc1cd
    Alexander Barkov authored
    The ALTER related code cannot do at the same time both:
    - modify partitions
    - change column data types
    
    Explicit changing of a column data type together with a partition change is
    prohibited by the parter, so this is not allowed and returns a syntax error:
    
      ALTER TABLE t MODIFY ts BIGINT, DROP PARTITION p1;
    
    This fix additionally disables implicit data type upgrade
    (e.g. from "MariaDB 5.3 TIME" to "MySQL 5.6 TIME", or the other way
    around according to the current mysql56_temporal_format) in case of
    an ALTER modifying partitions, e.g.:
    
      ALTER TABLE t DROP PARTITION p1;
    
    In such commands now only the partition change happens, while
    the data types stay unchanged.
    
    One can additionally run:
    
      ALTER TABLE t FORCE;
    
    either before or after the ALTER modifying partitions to
    upgrade data types according to mysql56_temporal_format.
    f1bbc1cd
partition_alter.test 7.7 KB