-
Abhishek Ranjan authored
Problem: --------- A table using pre mysql-5.0 decimal type triggers a segmentation fault during in-place upgrade to mysql-8.0. The segmentation fault is caused during the attempt to access the TABLE object before opening the table in ' Field_decimal::reset().'. Analysis: ---------- Pre 5.0 decimal type is not supported from mysql-5.0. Tables containing such un supported decimal type should be fixed by recreating the table using dump/restore method. CHECK TABLE command does not detect and give warnings for pre mysql-5.0 decimal types. Fix: ----- In mysql-5.7, the fix adds warning for pre mysql-5.0 decimal types. User will get the following message when executing CHECK TABLE command "Table upgrade required for `db_name`.`table_name`. Please dump/reload table to fix it!" mysql-8.0 will not allow in-place upgrade to 8.0 if pre mysql-5.0 decimal type is found in the data directory. Note: mysql_upgrade will report the above error for tables with old decimal. mysql_upgrade will not fix old decimal types in mysql-5.7. 'REPAIR TABLE' OR 'ALTER TABLE ... FORCE' will not fix the old decimal types in mysql-5.7. Tables containing such un supported decimal type should be fixed by recreating the table using dump/restore method.
Abhishek Ranjan authoredProblem: --------- A table using pre mysql-5.0 decimal type triggers a segmentation fault during in-place upgrade to mysql-8.0. The segmentation fault is caused during the attempt to access the TABLE object before opening the table in ' Field_decimal::reset().'. Analysis: ---------- Pre 5.0 decimal type is not supported from mysql-5.0. Tables containing such un supported decimal type should be fixed by recreating the table using dump/restore method. CHECK TABLE command does not detect and give warnings for pre mysql-5.0 decimal types. Fix: ----- In mysql-5.7, the fix adds warning for pre mysql-5.0 decimal types. User will get the following message when executing CHECK TABLE command "Table upgrade required for `db_name`.`table_name`. Please dump/reload table to fix it!" mysql-8.0 will not allow in-place upgrade to 8.0 if pre mysql-5.0 decimal type is found in the data directory. Note: mysql_upgrade will report the above error for tables with old decimal. mysql_upgrade will not fix old decimal types in mysql-5.7. 'REPAIR TABLE' OR 'ALTER TABLE ... FORCE' will not fix the old decimal types in mysql-5.7. Tables containing such un supported decimal type should be fixed by recreating the table using dump/restore method.
Loading