ST_FIELD_INFO has two problems:
- It's not friently for user plugins, which may want to create INFORMATION_SCHEMA tables with their own data types.
- When a Field is created inside Type_handler_xxx::make_schema_field(), strlen() is called for ST_FIELD_INFO::field_name, for every column, every time an INFORMATION_SCHEMA query is done. This is not performance wise.
- In ST_FIELD_INFO, replace enum_field_types field_type to const Type_handler *handler.
- In ST_FIELD_INFO, replace const char *field_name to LEX_CSTRING field_name.
which will solve the two mentioned problems.