From: Date: March 22 2007 8:57pm Subject: Connector/NET commit: r646 - in branches/5.0: . Driver/Source TestSuite List-Archive: http://lists.mysql.com/commits/22693 X-Bug: 27269 Message-Id: <200703221957.l2MJvEQm026118@bk-internal.mysql.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Modified: branches/5.0/CHANGES branches/5.0/Driver/Source/Connection.cs branches/5.0/TestSuite/ConnectionTests.cs Log: Bug #27269 MySqlConnection.Clone does not mimic SqlConnection.Clone behaviour Changed to using the internal GetConnectionString method so we get the password if 'Persist Security Info' is false. Modified: branches/5.0/CHANGES =================================================================== --- branches/5.0/CHANGES 2007-03-22 18:15:19 UTC (rev 645) +++ branches/5.0/CHANGES 2007-03-22 19:57:14 UTC (rev 646) @@ -1,5 +1,9 @@ Version 5.0.7 + Bugs fixed + ---------- + Bug #27269 MySqlConnection.Clone does not mimic SqlConnection.Clone behaviour + Other changes ------------- Installer now works if XML comments are found in machine.config Modified: branches/5.0/Driver/Source/Connection.cs =================================================================== --- branches/5.0/Driver/Source/Connection.cs 2007-03-22 18:15:19 UTC (rev 645) +++ branches/5.0/Driver/Source/Connection.cs 2007-03-22 19:57:14 UTC (rev 646) @@ -427,8 +427,7 @@ object ICloneable.Clone() { MySqlConnection clone = new MySqlConnection(); - clone.ConnectionString = this.ConnectionString; - //TODO: how deep should this go? + clone.ConnectionString = settings.GetConnectionString(true); return clone; } #endregion Modified: branches/5.0/TestSuite/ConnectionTests.cs =================================================================== --- branches/5.0/TestSuite/ConnectionTests.cs 2007-03-22 18:15:19 UTC (rev 645) +++ branches/5.0/TestSuite/ConnectionTests.cs 2007-03-22 19:57:14 UTC (rev 646) @@ -265,13 +265,23 @@ /// /// Bug #10281 Clone issue with MySqlConnection + /// Bug #27269 MySqlConnection.Clone does not mimic SqlConnection.Clone behaviour /// [Test] public void TestConnectionClone() { - MySqlConnection c = new MySqlConnection(); - MySqlConnection clone = (MySqlConnection) ((ICloneable)c).Clone(); - clone.ToString(); + MySqlConnection c = new MySqlConnection(); + MySqlConnection clone = (MySqlConnection)((ICloneable)c).Clone(); + clone.ToString(); + + string connStr = GetConnectionString(true); + connStr = connStr.Replace("persist security info=true", "persist security info=false"); + c = new MySqlConnection(connStr); + c.Open(); + c.Close(); + MySqlConnection c2 = (MySqlConnection)((ICloneable)c).Clone(); + c2.Open(); + c2.Close(); } ///