Skip to content

Commit 53f74a8

Browse files
committed
better version of Join and undo unrelated change
1 parent 4e3d1e5 commit 53f74a8

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

src/NHibernate/Hql/Ast/ANTLR/Tree/ResultVariableRefNode.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ private SqlString GetColumnPositionsString(int scalarColumnIndex)
6767

6868
private SqlString GetColumnNamesString(int scalarColumnIndex)
6969
{
70-
return SqlStringHelper.Join(", ", Walker.SelectClause.ColumnNames[scalarColumnIndex]);
70+
return SqlStringHelper.Join(new SqlString(", "), Walker.SelectClause.ColumnNames[scalarColumnIndex]);
7171
}
7272
}
7373
}

src/NHibernate/SqlCommand/SqlStringHelper.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -31,20 +31,20 @@ public static SqlString Join(SqlString separator, IEnumerable objects)
3131
return buf.ToSqlString();
3232
}
3333

34-
public static SqlString Join(string separator, IEnumerable objects)
34+
internal static SqlString Join(string separator, IList<SqlString> strings)
3535
{
36-
SqlStringBuilder buf = new SqlStringBuilder();
37-
bool first = true;
36+
if(strings.Count == 0)
37+
return SqlString.Empty;
3838

39-
foreach (object obj in objects)
40-
{
41-
if (!first)
42-
{
43-
buf.Add(separator);
44-
}
39+
if (strings.Count == 1)
40+
return strings[0];
4541

46-
first = false;
47-
buf.AddObject(obj);
42+
var buf = new SqlStringBuilder(strings.Count * 2 + 1);
43+
44+
buf.Add(strings[0]);
45+
for (var index = 1; index < strings.Count; index++)
46+
{
47+
buf.Add(separator).Add(strings[index]);
4848
}
4949

5050
return buf.ToSqlString();

0 commit comments

Comments
 (0)