There are certain situations where MySQL will return incorrect metadata about one or more columns. More specifically, the server will sometimes report that a column is binary when it is not and vice versa. In these situations, it becomes practically impossible for the connector to be able to correctly identify the correct metadata.
Some examples of situations that may return incorrect metadata are:
SHOW PROCESSLIST. Some of the columns will be returned as binary even though they only hold string data.
When a temporary table is used to process a resultset, some columns may be returned with incorrect binary flags.
Some server functions such
DATE_FORMATwill incorrectly return the column as binary.
With the availability of
VARBINARY data types, it is important that we
respect the metadata returned by the server. However, we are aware
that some existing applications may break with this change, so we
are creating a connection string option to enable or disable it.
By default, Connector/Net 5.1 respects the binary flags returned
by the server. You might need to make small changes to your
application to accommodate this change.
In the event that the changes required to your application would
be too large, adding
flags=false' to your connection string causes the
connector to use the prior behavior: any column that is marked as
string, regardless of binary flags, will be returned as string.
Only columns that are specifically marked as a
BLOB will be returned as