Fixes bugs since 6.0.5.
Functionality added or changed:
Procedure cacheing 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
In MySQL Connector/NET, the
MySqlConnection.Abort()
method contained atry...catch
construct, with an emptycatch
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 theCharSetMap
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 thewindows-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 calling
ExecuteNonQuery
on a command object, the following exception occurred:Index and length must refer to a location within the string. Parameter name: length
The method
Command.TrimSemicolons
usedStringBuilder
, 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)MySqlCommand.Parameters.Clear()
did not work. (Bug#50444)When the
MySqlScript.execute()
method was called, the following exception was generated:InvalidOperationException : The CommandText property has not been properly initialized.
Binary Columns were not displayed in the Query Builder of Visual Studio. (Bug#50171)
When the
UpdateBatchSize
property was set to a value greater than 1, only the first row was applied to the database. (Bug#50123)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)
MySqlDataReader.GetUInt64
returned an incorrect value when reading aBIGINT UNSIGNED
column containing a value greater than 2147483647. (Bug#49794)A
FormatException
was generated when an empty string was returned from a stored function. (Bug#49642)When adding a data set in Visual Studio 2008, the following error was generated:
Relations couldn't be addded. 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)
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)
The method
MySqlDataReader.GetSchemaTable()
returned 0 in theNumericPrecision
field for decimal and newdecimal columns. (Bug#48171)When trying to create stored procedures from a SQL script, a
MySqlException
was thrown when attempting to redefine theDELIMITER
: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)Calling a User Defined Function using Entity SQL in the Entity Framework caused a
NullReferenceException
. (Bug#45277)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)