Functionality added or changed:
A new connection string option has been added:
use affected rows
. Whentrue
the connection will report changed rows instead of found rows. (Bug#44194)
Bugs fixed:
Calling
GetSchema()
onIndexes
orIndexColumns
failed where index or column names were restricted.In
SchemaProvider.cs
, methodsGetIndexes()
andGetIndexColumns()
passed their restrictions directly toGetTables()
. This only worked if the restrictions were no more specific thanschemaName
andtableName
. IfIndexName
was given, this was passed toGetTables()
where it was treated asTableType
. As a result no tables were returned, unless the index name happened to beBASE TABLE
orVIEW
. This meant that both methods failed to return any rows. (Bug#43991)GetSchema("MetaDataCollections")
should have returned a table with a column named “NumberOfRestrictions” not “NumberOfRestriction”.This can be confirmed by referencing the Microsoft Documentation. (Bug#43990)
Requests sent to the MySQL Connector/NET role provider to remove a user from a role failed. The query log showed the query was correctly executed within a transaction which was immediately rolled back. The rollback was caused by a missing call to the
Complete
method of the transaction. (Bug#43553)When using
MySqlBulkLoader.Load()
, the text file is opened byNativeDriver.SendFileToServer
. If it encountered a problem opening the file as a stream, an exception was generated and caught. An attempt to clean up resources was then made in thefinally{}
clause by callingfs.Close()
, but since the stream was never successfully opened, this was an attempt to execute a method of a null reference. (Bug#43332)A null reference exception was generated when
MySqlConnection.ClearPool(connection)
was called. (Bug#42801)MySQLMembershipProvider.ValidateUser
only used theuserId
to validate. However, it should also use theapplicationId
to perform the validation correctly.The generated query was, for example:
SELECT Password, PasswordKey, PasswordFormat, IsApproved, Islockedout FROM my_aspnet_Membership WHERE userId=13
Note that
applicationId
is not used. (Bug#42574)There was an error in the
ProfileProvider
class in theprivate ProfileInfoCollection GetProfiles()
function. The column of the final table was named “lastUpdatdDate” ('e' is missing) instead of the correct “lastUpdatedDate”. (Bug#41654)The
GetGuid()
method ofMySqlDataReader
did not treatBINARY(16)
column data as a GUID. When operating on such a column aFormatException
exception was generated. (Bug#41452)When ASP.NET membership was configured to not require password question and answer using
requiresQuestionAndAnswer="false"
, aSqlNullValueException
was generated when usingMembershipUser.ResetPassword()
to reset the user password. (Bug#41408)If a
Stored Procedure
contained spaces in its parameter list, and was then called from MySQL Connector/NET, an exception was generated. However, the sameStored Procedure
called from the MySQL Query Analyzer or the MySQL Client worked correctly.The exception generated was:
Parameter '0' not found in the collection.
The
DATETIME
format contained an erroneous space. (Bug#41021)When
MySql.Web.Profile.MySQLProfileProvider
was configured, it was not possible to assign a name other than the default nameMySQLProfileProvider
.If the name
SCC_MySQLProfileProvider
was assigned, an exception was generated when attempting to usePage.Context.Profile['custom prop']
.The exception generated was:
The profile default provider was not found.
Note that the exception stated: 'the profile default provider...', even though a different name was explicitly requested. (Bug#40871)
When
ExecuteNonQuery
was called with a command type ofStored Procedure
it worked for one user but resulted in a hang for another user with the same database permissions.However, if
CALL
was used in the command text andExecuteNonQuery
was used with a command type ofText
, the call worked for both users. (Bug#40139)