Skip to content

Commit 0919343

Browse files
committed
Merge branch '7.1'
# Conflicts: # Orm/Xtensive.Orm/Orm/Providers/Requests/PersistRequest.cs
2 parents ca837a4 + e57a070 commit 0919343

2 files changed

Lines changed: 17 additions & 11 deletions

File tree

Orm/Xtensive.Orm/Orm/Providers/Requests/PersistRequest.cs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,14 @@ public sealed class PersistRequest
2828

2929
public IReadOnlyCollection<PersistParameterBinding> ParameterBindings { get; }
3030

31-
internal NodeConfiguration NodeConfiguration { get; }
32-
3331
public SqlCompilationResult GetCompiledStatement() =>
3432
compiledStatement ?? throw new InvalidOperationException(Strings.ExRequestIsNotPrepared);
3533

3634
public void Prepare()
3735
{
3836
if (compiledStatement != null)
3937
return;
40-
compiledStatement = (NodeConfiguration != null)
41-
? driver.Compile(CompileUnit, NodeConfiguration)
42-
: driver.Compile(CompileUnit);
38+
compiledStatement = driver.Compile(CompileUnit);
4339
CompileUnit = null;
4440
Statement = null;
4541
}
@@ -48,10 +44,20 @@ public void Prepare()
4844

4945
public PersistRequest(
5046
StorageDriver driver, SqlStatement statement, IEnumerable<PersistParameterBinding> parameterBindings)
51-
: this(driver, statement, parameterBindings, null)
5247
{
48+
ArgumentValidator.EnsureArgumentNotNull(driver, "driver");
49+
ArgumentValidator.EnsureArgumentNotNull(statement, "statement");
50+
51+
var compileUnit = statement as ISqlCompileUnit
52+
?? throw new ArgumentException("Statement is not ISqlCompileUnit");
53+
54+
this.driver = driver;
55+
Statement = statement;
56+
CompileUnit = compileUnit;
57+
ParameterBindings = ParameterBinding.NormalizeBindings(parameterBindings);
5358
}
5459

60+
[Obsolete]
5561
public PersistRequest(
5662
StorageDriver driver, SqlStatement statement, IEnumerable<PersistParameterBinding> parameterBindings, NodeConfiguration nodeConfiguration)
5763
{
@@ -65,7 +71,6 @@ public PersistRequest(
6571
Statement = statement;
6672
CompileUnit = compileUnit;
6773
ParameterBindings = ParameterBinding.NormalizeBindings(parameterBindings);
68-
NodeConfiguration = nodeConfiguration;
6974
}
7075
}
7176
}

Orm/Xtensive.Orm/Orm/Providers/Requests/PersistRequestBuilder.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ internal ICollection<PersistRequest> Build(StorageNode node, PersistRequestBuild
5050
batch.Add(request.Statement);
5151
bindings.UnionWith(request.ParameterBindings);
5252
}
53-
var batchRequest = CreatePersistRequest(batch, bindings, node.Configuration);
53+
var batchRequest = new PersistRequest(driver, batch, bindings);
5454
batchRequest.Prepare();
5555
return new List<PersistRequest> {batchRequest}.AsReadOnly();
5656
}
@@ -82,7 +82,7 @@ protected virtual List<PersistRequest> BuildInsertRequest(PersistRequestBuilderC
8282
}
8383
query.ValueRows.Add(row);
8484

85-
result.Add(CreatePersistRequest(query, bindings, context.NodeConfiguration));
85+
result.Add(new PersistRequest(driver, query, bindings));
8686
}
8787
return result;
8888
}
@@ -123,7 +123,7 @@ protected virtual List<PersistRequest> BuildUpdateRequest(PersistRequestBuilderC
123123
if (requiresVersionValidation) {
124124
query.Where &= BuildVersionFilter(context, tableRef, bindings);
125125
}
126-
result.Add(CreatePersistRequest(query, bindings,context.NodeConfiguration));
126+
result.Add(new PersistRequest(driver, query, bindings));
127127
}
128128

129129
return result;
@@ -141,7 +141,7 @@ protected virtual List<PersistRequest> BuildRemoveRequest(PersistRequestBuilderC
141141
if (context.Task.ValidateVersion) {
142142
query.Where &= BuildVersionFilter(context, tableRef, bindings);
143143
}
144-
result.Add(CreatePersistRequest(query, bindings, context.NodeConfiguration));
144+
result.Add(new PersistRequest(driver, query, bindings));
145145
}
146146
return result;
147147
}
@@ -192,6 +192,7 @@ private SqlExpression BuildVersionFilter(PersistRequestBuilderContext context, S
192192
return result;
193193
}
194194

195+
[Obsolete("Use constructor directly")]
195196
protected PersistRequest CreatePersistRequest(SqlStatement query, IEnumerable<PersistParameterBinding> bindings, NodeConfiguration nodeConfiguration)
196197
{
197198
return Handlers.Domain.Configuration.ShareStorageSchemaOverNodes

0 commit comments

Comments
 (0)