-
Jon Olav Hauglid authored
FOR REFUSING OPERATION The problem was that an ALTER TABLE statement using a LOCK/ALGORITHM value not supported for the given operation(s), only gave a very generic error message "This version of MySQL doesn't yet support ..." This patch improves on the situation by giving a more detailed error message - listing what is not supported, optionally explaining why, and suggesting an alternative. For example: "LOCK=NONE is not supported. Reason: COPY algorithm requires at least SHARED lock. Try LOCK=SHARED." Since generally only the storage engine knows why a specific operation is not supported, the handler interface is extended by adding Alter_inplace_info::unsupported_reason. This allows the storage engine to specify a detailed reason. If this field is set, the error message reported is "%s is not supported. Reason: %s Try %s.". Otherwise the more generic "%s is not supported for this operation. Try %s." is used.
Jon Olav Hauglid authoredFOR REFUSING OPERATION The problem was that an ALTER TABLE statement using a LOCK/ALGORITHM value not supported for the given operation(s), only gave a very generic error message "This version of MySQL doesn't yet support ..." This patch improves on the situation by giving a more detailed error message - listing what is not supported, optionally explaining why, and suggesting an alternative. For example: "LOCK=NONE is not supported. Reason: COPY algorithm requires at least SHARED lock. Try LOCK=SHARED." Since generally only the storage engine knows why a specific operation is not supported, the handler interface is extended by adding Alter_inplace_info::unsupported_reason. This allows the storage engine to specify a detailed reason. If this field is set, the error message reported is "%s is not supported. Reason: %s Try %s.". Otherwise the more generic "%s is not supported for this operation. Try %s." is used.
Loading