Fixes bugs since 6.0.5.
Functionality Added or Changed
Procedure caching had a problem whereby if you created a procedure, dropped it, and recreated it with a different number of parameters an exception was generated.
MySQL Connector/Net has been changed so that if the procedure is recreated with a different number of parameters, it will still be recognized. (Bug #52562)
MySQL Connector/Net has been changed to include
MySqlDataReader.GetOrdinal() now includes the
name of the column in the exception if the column is not found.
If using MySQL Server 5.0.x it was not possible to alter stored routines in Visual Studio. If the stored routine was clicked, and the context sensitive menu option, Alter Routine, selected, the following error was generated:
Unable to load object with error: Object reference not set to an instance of an object
In MySQL Connector/Net, the
try...catch construct, with an
catch block. This meant that any
exception generated at this point would not be caught.
FunctionsReturnString=true was used in the
connection string, the decimal separator (according to locale)
was not interpreted.
In MySQL Connector/Net, the
LoadCharsetMap() function of
CharSetMap class set the following
mapping.Add("latin1", new CharacterSet("latin1", 1));
This meant that, for example, the Euro sign was not handled correctly.
The correct mapping should have been:
mapping.Add("latin1", new CharacterSet("windows-1252", 1));
This is because MySQL's
latin1 character set
is the same as the
set and it extends the official ISO 8859-1 or IANA latin1.
A non-terminated string in SQL threw a CLR exception rather than a syntax exception. (Bug #51788)
When using table per type inheritance and listing the contents of the parent table, the result of the query was a list of child objects, even though there was no related child record with the same parent Id. (Bug #49850)
ExecuteNonQuery on a command
object, the following exception occurred:
Index and length must refer to a location within the string. Parameter name: length
Binary Columns were not displayed in the Query Builder of Visual Studio. (Bug #50171)
MySqlCommand.Parameters.Clear() did not work.
UpdateBatchSize property was set to
a value greater than 1, only the first row was applied to the
StringBuilder, and therefore allocated memory
for the query even if it did not need to be trimmed. This led to
excessive memory consumption when executing a number of large
A connection string set in
not be reused after Visual Studio 2008 Professional was shut
down. It continued working for the existing controls, but did
not work for new controls added.
MySqlScript.execute() method was
called, the following exception was generated:
InvalidOperationException : The CommandText property has not been properly initialized.
FormatException was generated when an empty
string was returned from a stored function.
MySqlDataReader.GetUInt64 returned an
incorrect value when reading a
UNSIGNED column containing a value greater than
Calling a User Defined Function using Entity SQL in the Entity
Framework caused a
returned 0 in the
NumericPrecision field for
decimal and newdecimal columns.
Attempting to execute a load data local infile on a file where the user did not have write permissions, or the file was open in an editor gave an access denied error. (Bug #48944)
When adding a data set in Visual Studio 2008, the following error was generated:
Relations couldn't be added. Column 'REFERENCED_TABLE_CATALOG' does not belong to table.
This was due to a 'REFERENCED_TABLE_CATALOG' column not being included in the foreign keys collection. (Bug #48974)
When trying to create stored procedures from an SQL script, a
MySqlException was thrown when attempting to
MySql.Data.MySqlClient.MySqlException was unhandled Message="You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER' at line 1" Source="MySql.Data" ErrorCode=-2147467259 Number=1064 StackTrace: à MySql.Data.MySqlClient.MySqlStream.ReadPacket() à MySql.Data.MySqlClient.NativeDriver.ReadResult(UInt64& affectedRows, Int64& lastInsertId) à MySql.Data.MySqlClient.MySqlDataReader.GetResultSet() à MySql.Data.MySqlClient.MySqlDataReader.NextResult() à MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) à MySql.Data.MySqlClient.MySqlCommand.ExecuteReader() à MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() à MySql.Data.MySqlClient.MySqlScript.Execute()
MySqlScript class has been fixed to
support the delimiter statement as it is found in SQL scripts.