Skip to content

Commit 8c45b92

Browse files
committed
Update the method GetKeywordUppercase
1 parent a7abe18 commit 8c45b92

1 file changed

Lines changed: 25 additions & 19 deletions

File tree

SQLPrettyPrinter/Beautify.cs

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -53,33 +53,38 @@ private static string[] SplitStringForBeautification(string sqlStr)
5353
/// </returns>
5454
public static string GetSingleLined(string sqlString)
5555
{
56-
var temp = sqlString.Replace("(", " ( ").Replace(")", " ) ").Replace("=", " = ").Replace(",", " ,").Replace(Environment.NewLine, " ")
57-
.Replace("''", "'").Replace("\t", " ");
56+
var temp = sqlString.Replace("(", " ( ")
57+
.Replace(")", " ) ")
58+
.Replace("=", " = ")
59+
.Replace(",", " ,")
60+
.Replace(Environment.NewLine, " ")
61+
.Replace("\r", " ")
62+
.Replace("''", "'")
63+
.Replace("\t", " ");
5864

5965
temp = Regex.Replace(temp, @"\s+", " ");
6066
return temp;
6167
}
6268

69+
/// <summary>
70+
/// The get keywords uppercase.
71+
/// </summary>
72+
/// <param name="SQL Test">
73+
/// The sql test.
74+
/// </param>
75+
/// <returns>
76+
/// The <see cref="string"/>.
77+
/// </returns>
6378
public static string GetKeywordsUppercase(string sqlTest)
6479
{
65-
var single = GetSingleLined(sqlTest);
66-
var cnt = single.Split(' ').Count();
67-
68-
for (var i = 0; i < cnt; i++)
80+
foreach (var keyword in Keywords)
6981
{
70-
var text = single.Split(' ')[i];
71-
var isExists = Keywords.Any(x => x.Equals(text, StringComparison.OrdinalIgnoreCase));
72-
73-
if (!isExists)
74-
{
75-
continue;
76-
}
77-
78-
var pattern = @"\b" + text + @"\b";
79-
80-
sqlTest = Regex.Replace(sqlTest, pattern, text.ToUpper(), RegexOptions.IgnoreCase);
82+
var pattern = @"\b" + keyword + @"\b";
83+
sqlTest = Regex.Replace(sqlTest, pattern, keyword, RegexOptions.IgnoreCase);
8184
}
8285
return sqlTest;
86+
87+
8388
}
8489

8590
/// <summary>
@@ -147,8 +152,9 @@ public static string PrettyPrinter(string sqlStr)
147152

148153

149154
var multiLinedText =
150-
singledLineText.Replace("FROM", Environment.NewLine + "FROM")
151-
.Replace("WHERE", Environment.NewLine + "WHERE")
155+
singledLineText
156+
.Replace("FROM", "\nFROM")
157+
.Replace("WHERE", "\nWHERE")
152158
.Replace("INNER", "\n\t" + "INNER")
153159
.Replace("LEFT", "\n\t" + "LEFT")
154160
.Replace("RIGHT", "\n\t" + "RIGHT")

0 commit comments

Comments
 (0)