Fix long VARCHAR and short STRING issues

The first issue happened with long VARCHAR fields. If the VARCHAR had
more than 255 characters MYSQL uses 2 (not only 1) bytes to store some
information at the beginning of the string.

The previous code was aware of it but it checked it using the size of
the string, not the information from the metadata of the field. In some
cases it didn't work.

After changing that I've introduced a new bug. There is a STRING type which
the metadata is not the size of the field. You have to check inside this
integer to find the size of the field.

I fixed now how to get the size of the STRING field.