Modified:
branches/5.2/CHANGES
branches/5.2/MySql.Data/Provider/Source/MySqlHelper.cs
Log:
- applied performance improvement to MySqlHelper.EscapeString (bug #45699)
Modified: branches/5.2/CHANGES
===================================================================
--- branches/5.2/CHANGES 2009-06-30 20:24:02 UTC (rev 1664)
+++ branches/5.2/CHANGES 2009-06-30 21:54:47 UTC (rev 1665)
@@ -21,6 +21,7 @@
the compiler in VS2005 (bug #42261)
- fix small bug in SchemaManager that would prevent the schema from being updated if the
autogenerateschema option was given in anything but lower case
+- applied performance improvement to MySqlHelper.EscapeString (thanks Franco!) (bug #45699)
Version 5.2.6
- cleaned up how stored procedure execution operated when the user does or does not have execute privs
Modified: branches/5.2/MySql.Data/Provider/Source/MySqlHelper.cs
===================================================================
--- branches/5.2/MySql.Data/Provider/Source/MySqlHelper.cs 2009-06-30 20:24:02 UTC (rev 1664)
+++ branches/5.2/MySql.Data/Provider/Source/MySqlHelper.cs 2009-06-30 21:54:47 UTC (rev 1665)
@@ -20,6 +20,7 @@
using System.Data;
using MySql.Data.MySqlClient;
+using System.Text;
namespace MySql.Data.MySqlClient
{
@@ -369,14 +370,21 @@
/// <returns>The string with all quotes escaped.</returns>
public static string EscapeString(string value)
{
- value = value.Replace("\\", "\\\\");
- value = value.Replace("\'", "\\\'");
- value = value.Replace("\"", "\\\"");
- value = value.Replace("`", "\\`");
- value = value.Replace("- value = value.Replace("- value = value.Replace("- return value;
+ StringBuilder sb = new StringBuilder();
+ foreach (char c in value)
+ {
+ if (c == '\\' ||
+ c == '\'' ||
+ c == '\"' ||
+ c == '`' ||
+ c == '+ c == '+ c == '+ sb.Append("\\");
+ sb.Append(c);
+ }
+ return sb.ToString();
+
}
#endregion
| Thread |
|---|
| • Connector/NET commit: r1665 - in branches/5.2: . MySql.Data/Provider/Source | rburnett | 30 Jun |