Skip to content

Commit 4ac6895

Browse files
committed
Merge branch '7.1'
2 parents 2862041 + 36de54c commit 4ac6895

4 files changed

Lines changed: 16 additions & 7 deletions

File tree

Orm/Xtensive.Orm/Orm/Building/Definitions/TypeDef.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ namespace Xtensive.Orm.Building.Definitions
2121
/// <summary>
2222
/// Defines a single persistent type.
2323
/// </summary>
24-
[DebuggerDisplay("{underlyingType}")]
24+
[DebuggerDisplay("{UnderlyingType}")]
2525
[Serializable]
2626
public sealed class TypeDef : SchemaMappedNode
2727
{

Orm/Xtensive.Orm/Orm/Linq/TranslatorContext.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ namespace Xtensive.Orm.Linq
2424
{
2525
internal sealed class TranslatorContext
2626
{
27-
private readonly static System.Type TagProviderType = typeof(TagProvider);
28-
2927
private readonly AliasGenerator resultAliasGenerator;
3028
private readonly AliasGenerator columnAliasGenerator;
3129
private readonly Dictionary<ParameterExpression, Parameter<Tuple>> tupleParameters;

Orm/Xtensive.Orm/Sql/Compiler/Internals/Nodes/ContainerNode.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ internal override void AcceptVisitor(NodeVisitor visitor)
164164
internal void FlushBuffer()
165165
{
166166
if (stringBuilder.Length > 0) {
167-
children.Add(new TextNode(stringBuilder.ToString()));
167+
children.Add(TextNode.Create(stringBuilder.ToString()));
168168
lastNodeIsText = true;
169169
lastChar = stringBuilder[^1];
170170
_ = stringBuilder.Clear();

Orm/Xtensive.Orm/Sql/Compiler/Internals/Nodes/TextNode.cs

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,29 @@ namespace Xtensive.Sql.Compiler
99
[DebuggerDisplay("Text = {Text}")]
1010
internal class TextNode : Node
1111
{
12+
private const string CommaString = ", ";
13+
private static readonly TextNode CommaNode = new TextNode(CommaString);
14+
1215
public readonly string Text;
1316

14-
internal override void AcceptVisitor(NodeVisitor visitor)
17+
public static TextNode Create(string text)
1518
{
16-
visitor.Visit(this);
19+
if (text.Length < 3) {
20+
text = string.Intern(text);
21+
if (text == CommaString) {
22+
return CommaNode;
23+
}
24+
}
25+
return new TextNode(text);
1726
}
1827

28+
internal override void AcceptVisitor(NodeVisitor visitor) => visitor.Visit(this);
29+
1930
// Constructor
2031

2132
public TextNode(string text)
2233
{
2334
Text = text;
2435
}
2536
}
26-
}
37+
}

0 commit comments

Comments
 (0)