Skip to content

Commit da8e163

Browse files
authored
Merge branch 'master' into upstream/OptimizeVisitors
2 parents c578c41 + 1041260 commit da8e163

223 files changed

Lines changed: 3358 additions & 2737 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ChangeLog/7.1.0-RC2-dev.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

ChangeLog/7.1.0-Z_Final.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[main] Added support for DefaultExpression within Linq queries
2+
[main] Support for TimeOnly ctors (time parts and ticks) in Linq, except for SQLite and MySQL providers
3+
[main] No Session.Activate() in ToTransactional extension, it affects EntitySet<T> enumeration.

ChangeLog/7.2.0-Beta-1-dev.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[main] Unused Xtensive.Collections.PriorityQueue is removed
2+
[main] Xtensive.Orm.Rse.Providers.Provider.Sources has changed return type to IReadOnlyList<T>, as well as ctor parameter
3+
[main] SqlInsert.Values became obsolete and no longer in use. Use ValueRows collection to add value rows
4+
[main] DomainConfiguration.MaxNumberOfConditions is introduced
5+
[main] SqlDml.Truncate() is introduced.
6+
[main] WellKnown.MaxNumberOfConditions became obsolete, use new DomainConfiguration.MaxNumberOfConditions if needed
7+
[main] Temporary tables cleanup now uses TRUNCATE instead of DELETE when possible
8+
[main] Temporary tables population is increased with multi-row inserts - 256 and 16 items per INSERT
9+
[main] PersistParameterBinding has new field RowIndex, use it for multi-row inserts if needed
10+
[main] TemporaryTableDescriptor changed interface to IMultiRecordPersistDescriptor, fully compatible with IPersistDescriptor
11+
[main] SqlNode.Clone() method now returns SqlNode to take advantage of C# covariant returns and reduce casts overhead
12+
[main] Improved exception handling if some appered during asynchronous Session opening
13+
[postgresql] QueryInfo.MaxQueryParameterCount actualized, it is 65535 now
14+
[oracle] QueryInfo.MaxQueryParameterCount actualized, it is 65535 now

Extensions/Xtensive.Orm.BulkOperations/Internals/AddValueContext.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using System.Collections.Generic;
12
using System.Linq.Expressions;
23
using Xtensive.Linq;
34
using Xtensive.Orm.Model;
@@ -14,9 +15,9 @@ internal class AddValueContext
1415
public LambdaExpression Lambda { get; set; }
1516
public SetStatement Statement { get; set; }
1617

17-
public FieldInfo Field { get; set; }
18+
public FieldInfo Field => Descriptor.Field;
1819

19-
public bool SubqueryExists { get; set; }
20+
public Dictionary<SqlColumn, SqlExpression> Values { get; set; }
2021

2122
public object EvalLambdaBody() =>
2223
Lambda.Body is ConstantExpression ce

Extensions/Xtensive.Orm.BulkOperations/Internals/BaseSqlVisitor.cs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System.Collections.Generic;
1+
using System.Collections.Generic;
2+
using System.Linq;
23
using Xtensive.Sql;
34
using Xtensive.Sql.Ddl;
45
using Xtensive.Sql.Dml;
@@ -247,6 +248,10 @@ public virtual void Visit(SqlDropView node)
247248
{
248249
}
249250

251+
public virtual void Visit(SqlTruncateTable node)
252+
{
253+
}
254+
250255
public virtual void Visit(SqlDynamicFilter node)
251256
{
252257
foreach (SqlExpression expression in node.Expressions)
@@ -314,9 +319,12 @@ public virtual void Visit(SqlInsert node)
314319
{
315320
VisitInternal(node.From);
316321
VisitInternal(node.Into);
317-
foreach (var pair in node.Values) {
318-
VisitInternal(pair.Key);
319-
VisitInternal(pair.Value);
322+
323+
foreach(var row in node.ValueRows) {
324+
foreach(var columnvalue in row.Zip(node.ValueRows.Columns)) {
325+
VisitInternal(columnvalue.Second);
326+
VisitInternal(columnvalue.First);
327+
}
320328
}
321329
}
322330

0 commit comments

Comments
 (0)