mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
ALTER TABLE and replication should convert old row_end timestamps to new timestamp range
MDEV-32188 make TIMESTAMP use whole 32-bit unsigned range - Added --update-history option to mariadb-dump to change 2038 row_end timestamp to 2106. - Updated ALTER TABLE ... to convert old row_end timestamps to 2106 timestamp for tables created before MariaDB 11.4.0. - Fixed bug in CHECK TABLE where we wrongly suggested to USE REPAIR TABLE when ALTER TABLE...FORCE is needed. - mariadb-check printed table names that where used with REPAIR TABLE but did not print table names used with ALTER TABLE or with name repair. Fixed by always printing a table that is fixed if --silent is not used. - Added TABLE::vers_fix_old_timestamp() that will change max-timestamp for versioned tables when replication from a pre-11.4.0 server. A few test cases changed. This is caused by: - CHECK TABLE now prints 'Please do ALTER TABLE... instead of 'Please do REPAIR TABLE' when there is a problem with the information in the .frm file (for example a very old frm file). - mariadb-check now prints repaired table names. - mariadb-check also now prints nicer error message in case ALTER TABLE is needed to repair a table.
This commit is contained in:
@ -305,17 +305,18 @@ CHECK TABLE bug47205 FOR UPGRADE;
|
||||
DROP TABLE bug47205;
|
||||
|
||||
--echo #
|
||||
--echo # Test 3: MyISAM - REPAIR supported
|
||||
--echo # Test 3: MyISAM - ALTER TABLE supported
|
||||
|
||||
--echo # Use an old FRM that will require upgrade
|
||||
--copy_file std_data/bug36055.frm $MYSQLD_DATADIR/test/bug47205.frm
|
||||
--copy_file std_data/bug36055.MYD $MYSQLD_DATADIR/test/bug47205.MYD
|
||||
--copy_file std_data/bug36055.MYI $MYSQLD_DATADIR/test/bug47205.MYI
|
||||
|
||||
--echo # Should indicate that REPAIR TABLE is needed
|
||||
--echo # Should indicate that ALTER TABLE is needed
|
||||
CHECK TABLE bug47205 FOR UPGRADE;
|
||||
|
||||
--echo # Running mysqlcheck to check and upgrade
|
||||
|
||||
--exec $MYSQL_CHECK --check-upgrade --auto-repair test
|
||||
|
||||
--echo # Table should now be ok
|
||||
|
Reference in New Issue
Block a user