Let's remove the member Column_definition::key_length and introduce a new virtual method in Type_handler instead:
Note, key_length is a redundant member. It can be unambiguously calculated, depending on the data type, from:
There is no a need to copy this member around the code.
Removing key_length will simplify the job being done in Type_handler methods:
which will give a simpler data type API.
Also, later this change will simplify to unify these Type_handler methods:
into a single method.