| Bug #39728 | MySqlConnectionStringBuilder GetConnectionString(true) returns null unexpectedly | ||
|---|---|---|---|
| Submitted: | 29 Sep 2008 11:53 | Modified: | 10 Oct 2008 12:27 |
| Reporter: | Christopher Jerdonek | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | Connector / NET | Severity: | S3 (Non-critical) |
| Version: | 5.2.3.0 | OS: | Windows |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | connection string, connector, includepass | ||
[29 Sep 2008 11:53]
Christopher Jerdonek
[29 Sep 2008 14:03]
Tonci Grgin
Hi Christopher and thanks for your report.
Verified as described...
MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
builder.ConnectionString = "server=test1;pwd=test2";
//played with uid=root;Persist Security Info=true; to no avail
string connectionString = builder.GetConnectionString(false);
Console.WriteLine(connectionString);
Assert.AreEqual("server=test1", connectionString);
connectionString = builder.GetConnectionString(true);
Console.WriteLine(connectionString);
Assert.AreEqual("server=test1;pwd=test2", connectionString);
It appears that MySQLConnectionStringBuilder.cs, line 1021 shows null for originalConnectionString although it is called with proper value...
public string GetConnectionString(bool includePass)
{
if (includePass)
return originalConnectionString;
string connStr = persistConnString.ToString();
return connStr.Remove(connStr.Length - 1, 1);
}
[8 Oct 2008 17:46]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/55797
[8 Oct 2008 17:47]
Reggie Burnett
fixed by making MySqlConnectionStringBuilder.GetConnectionString an internal method. It should not have been publicly available anyway. It is used internally by the MySqlConnection.ConnectionString property
[10 Oct 2008 12:27]
Tony Bedford
An entry was added to the 5.2.4 changelog: After the ConnectionString property was initialized via the public setter of DbConnectionStringBuilder, the GetConnectionString method of MySqlConnectionStringBuilder incorrectly returned null when true was assigned to the includePass parameter.
