Skip to content

Commit 87054f5

Browse files
committed
Corrected regex for params
1 parent d272b2b commit 87054f5

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

SharedAssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,5 @@
2929
// You can specify all the values or you can default the Build and Revision Numbers
3030
// by using the '*' as shown below:
3131
// [assembly: AssemblyVersion("1.0.*")]
32-
[assembly: AssemblyVersion("1.6.1")]
33-
[assembly: AssemblyFileVersion("1.6.1")]
32+
[assembly: AssemblyVersion("1.6.2")]
33+
[assembly: AssemblyFileVersion("1.6.2")]

WorkloadTools/Consumer/Analysis/SqlTextNormalizer.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ public class SqlTextNormalizer
4242
private static Regex _emptyString = new Regex("\\'\\'", RegexOptions.Compiled);
4343
private static Regex _unicodeConstant = new Regex("N{STR}", RegexOptions.Compiled);
4444
private static Regex _stringConstant = new Regex("(')(((?!\\1).|\\1{2})*)\\1", RegexOptions.Compiled | RegexOptions.Singleline);
45-
private static Regex _paramNameValue = new Regex(@"@(?<paramname>\w+)+\s?=\s?['[""](?<paramvalue>([^'\]""])+)['\]""]", RegexOptions.Compiled | RegexOptions.Singleline);
45+
private static Regex _paramNameValueStr = new Regex(@"@(?<paramname>\w+)\s?=\s?[N]?['[""](?<paramvalue>([^'\]""])+('{2})?)?['\]""]", RegexOptions.Compiled | RegexOptions.Singleline);
46+
private static Regex _paramNameValueNum = new Regex(@"@(?<paramname>\w+)\s?=\s?(?<paramvalue>([0-9.])+)", RegexOptions.Compiled | RegexOptions.Singleline);
4647
private static Regex _binaryConstant = new Regex("0X([0-9ABCDEF])+", RegexOptions.Compiled);
4748
private static Regex _numericConstant = new Regex("(?<prefix>[\\(\\s,=\\-><\\!\\&\\|\\+\\*\\/\\%\\~\\$])(?<digits>[\\-\\.\\d]+)", RegexOptions.Compiled);
4849
private static Regex _inClause = new Regex("IN\\s*\\(\\s*\\{.*\\}\\s*\\)", RegexOptions.Compiled | RegexOptions.Singleline);
@@ -263,7 +264,8 @@ public NormalizedSqlText NormalizeSqlText(string sql, int spid, bool spreadCsv)
263264
}
264265

265266

266-
result.NormalizedText = _paramNameValue.Replace(result.NormalizedText, "@${paramname} = {STR}");
267+
result.NormalizedText = _paramNameValueStr.Replace(result.NormalizedText, "@${paramname} = {STR}");
268+
result.NormalizedText = _paramNameValueStr.Replace(result.NormalizedText, "@${paramname} = {NUM}");
267269
result.NormalizedText = _emptyString.Replace(result.NormalizedText, "{STR}");
268270
result.NormalizedText = _stringConstant.Replace(result.NormalizedText, "{STR}");
269271
result.NormalizedText = _unicodeConstant.Replace(result.NormalizedText, "{NSTR}");

0 commit comments

Comments
 (0)