Hi, Alexander! On Dec 22, Alexander Barkov wrote:
Hi Sergei, Kristian,
I'm looking at:
MDEV-7268 Column of table cannot be converted from type 'decimal(0,?)' to type ' 'decimal(10,7)'
This bug cannot be fixed in general case, because the old DECIMAL data type does not write its metadata into the binary log.
I suggest we don't fix replication of old DECIMAL (neither binlogging, nor slave-side).
I think that's reasonable. But then CHECK TABLE ... FOR UPGRADE should issue a warning for old DECIMAL columns.
Instead, we fix "ALTER TABLE ... FORCE" (and thus mysql_upgrade) to force changing old DECIMAL to new DECIMAL. Currently, "ALTER TABLE...FORCE" preserve old DECIMAL.
Not sure which version is best to fix in. The complainer had problems with 5.5.
I don't know, I'd say 10.0. For the complainer there's a workaround - I'm sure you can come up with an ALTER TABLE that changes columns from old to new DECIMAL, may be something like ALTER TABLE xxx MODIFY COLUMN yyy DECIMAL(....) Regards, Sergei