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 metadat.
Some examples of situations that may return incorrect metadata are:
Execution of SHOW PROCESSLIST
. Some of the
columns will be returned as binary even though they only hold
string data.
When a temp table is used to process a resultset, some columns may be returned with incorrect binary flags.
Some server functions such DATE_FORMAT
will
incorrectly return the column as binary.
With the availability of BINARY
and
VARBINARY
data types it is important that we
respect the metadata returned by the sever. 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 will respect the binary flags
returned by the server. This will mean that you may need to make
small changes to your application to accomodate this change.
In the event that the changes required to your application would
be too large, you can add 'respect binary flags=false'
to your connection string. This will cause the connector to use
the prior behavior. In a nutshell, that behavior was that 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
BLOB
.
User Comments
Add your own comment.