Bug #69652 Case incorrect on table in SQL queries for MySqlSessionStateStore
Submitted: 2 Jul 2013 18:51 Modified: 30 Dec 2013 22:58
Reporter: Kenny Huang Email Updates:
Status: Closed Impact on me:
Category:Connector / NET Severity:S2 (Serious)
Version:6.7.4 OS:Windows
Assigned to: Fernando Gonzalez.Sanchez CPU Architecture:Any

[2 Jul 2013 18:51] Kenny Huang
The latest GA for 6.7 caused exceptions in testing and the error message notified us that the functions DeleteTimedOutSessionsWithCallback and DeleteTimedOutSessionsWithoutCallback were referencing my_aspnet_Sessions (note the capital S). This fails, naturally, as the table is now my_aspnet_sessions.

This is in the SessionProvider.cs file in MySql.Web, lines 840, 857, 877.

How to repeat:
Wait for a session to expire in a MySql sessionstate-enabled web application

Suggested fix:
Fix the table names in the MySqlCommand SQL parameter.
[2 Jul 2013 19:00] Kenny Huang
This would only manifest in cases where the table identifier is case sensitive, which applies mainly to UNIX installations of MySQL since the identifiers are case insensitive on Windows:
[30 Dec 2013 22:58] Daniel So
Added the following entry to the Connector/Net 6.6.7, 6.7.5., and 6.8.3 changelogs:

"A MySQL-session-state-enabled web application threw exceptions for referencing the wrong table name my_aspnet_Sessions (instead of the correct name my_aspnet_sessions). This was due to the incorrect case handling of the SQL queries for MySqlSessionStateStore."