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.GetFieldType(string
columnname). Further,
MySqlDataReader.GetOrdinal() now includes the
name of the column in the exception if the column is not found.
(Bug #47467)
Bugs Fixed
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
(Bug #55170)
In MySQL Connector/Net, the MySqlConnection.Abort() method
contained a try...catch construct, with an
empty catch block. This meant that any
exception generated at this point would not be caught.
(Bug #52769)
If FunctionsReturnString=true was used in the
connection string, the decimal separator (according to locale)
was not interpreted.
(Bug #52187)
In MySQL Connector/Net, the LoadCharsetMap() function of
the CharSetMap class set the following
incorrect mapping:
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 windows-cp1252 character
set and it extends the official ISO 8859-1 or IANA latin1.
(Bug #51927)
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)
When calling ExecuteNonQuery on a command
object, the following exception occurred:
Index and length must refer to a location within the string. Parameter name: length
(Bug #51610)
Binary Columns were not displayed in the Query Builder of Visual Studio. (Bug #50171)
MySqlCommand.Parameters.Clear() did not work.
(Bug #50444)
When the UpdateBatchSize property was set to
a value greater than 1, only the first row was applied to the
database.
(Bug #50123)
The method Command.TrimSemicolons used
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
queries.
(Bug #51149)
A connection string set in web.config could
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.
(Bug #41629)
When the MySqlScript.execute() method was
called, the following exception was generated:
InvalidOperationException : The CommandText property has not been properly initialized.
(Bug #50344)
A FormatException was generated when an empty
string was returned from a stored function.
(Bug #49642)
MySqlDataReader.GetUInt64 returned an
incorrect value when reading a BIGINT
UNSIGNED column containing a value greater than
2147483647.
(Bug #49794)
Calling a User Defined Function using Entity SQL in the Entity
Framework caused a NullReferenceException.
(Bug #45277)
The method MySqlDataReader.GetSchemaTable()
returned 0 in the NumericPrecision field for
decimal and newdecimal columns.
(Bug #48171)
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
redefine the DELIMITER:
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()
Note: The MySqlScript class has been fixed to
support the delimiter statement as it is found in SQL scripts.
(Bug #46429)
