Skip to content

Commit c41382f

Browse files
authored
Merge pull request #274 from servicetitan/upstream/CompilableProvider
Avoid unnecessary casts to CompilableProvider
2 parents 9d8b148 + e608b92 commit c41382f

13 files changed

Lines changed: 243 additions & 338 deletions

Orm/Xtensive.Orm/Orm/Linq/Expressions/Visitors/ExtendedExpressionReplacer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ protected override Expression VisitSubQueryExpression(SubQueryExpression express
7272
return expression;
7373
}
7474

75-
private Expression TranslateExpression(Provider provider, Expression original)
75+
private Expression TranslateExpression(CompilableProvider provider, Expression original)
7676
{
7777
var result = Visit(original);
7878
return result ?? original;

Orm/Xtensive.Orm/Orm/Linq/Rewriters/ApplyParameterToTupleParameterRewriter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ protected override Expression VisitSubQueryExpression(SubQueryExpression express
7474
return expression;
7575
}
7676

77-
private Expression RewriteExpression(Provider provider, Expression expression)
77+
private Expression RewriteExpression(CompilableProvider provider, Expression expression)
7878
{
7979
return Visit(expression);
8080
}

Orm/Xtensive.Orm/Orm/Linq/Rewriters/SubqueryFilterRemover.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public SubqueryFilterChecker(ApplyParameter filterParameter)
9595

9696
private readonly SubqueryFilterChecker checker;
9797

98-
protected override Provider VisitFilter(FilterProvider provider)
98+
protected override CompilableProvider VisitFilter(FilterProvider provider)
9999
{
100100
return checker.Check(provider.Predicate.Body)
101101
? provider.Source

Orm/Xtensive.Orm/Orm/Providers/SessionHandler.References.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ private static IEnumerable<ReferenceInfo> FindReferences(Entity owner, Associati
9292

9393
private static (CompilableProvider, Parameter<Tuple>) BuildReferencingQuery(AssociationInfo association)
9494
{
95-
var provider = (CompilableProvider)null;
95+
CompilableProvider provider = null;
9696
var parameter = new Parameter<Tuple>("pTuple");
9797
switch (association.Multiplicity) {
9898
case Multiplicity.ZeroToOne:
@@ -128,7 +128,7 @@ private static (CompilableProvider, Parameter<Tuple>) BuildReferencingQuery(Asso
128128
parameter))
129129
.Alias("a")
130130
.Join(
131-
index.GetQuery(),
131+
index.GetQuery(),
132132
association.Reversed.OwnerField.MappingInfo
133133
.GetItems()
134134
.Select((l,r) => new Pair<int>(l,r))

Orm/Xtensive.Orm/Orm/Providers/SqlCompiler.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -383,11 +383,9 @@ protected override SqlProvider VisitSort(SortProvider provider)
383383
/// <inheritdoc/>
384384
protected override SqlProvider VisitStore(StoreProvider provider)
385385
{
386-
var source =
387-
provider.Source as ExecutableProvider
388-
?? (provider.Source is RawProvider
389-
? (ExecutableProvider) (new Rse.Providers.ExecutableRawProvider((RawProvider) provider.Source))
390-
: Compile((CompilableProvider) provider.Source));
386+
var source = provider.Source is RawProvider rawProvider
387+
? (ExecutableProvider) (new Rse.Providers.ExecutableRawProvider(rawProvider))
388+
: Compile(provider.Source);
391389
var columnNames = provider.Header.Columns.Select(column => column.Name).ToArray();
392390
var descriptor = DomainHandler.TemporaryTableManager
393391
.BuildDescriptor(Mapping, provider.Name, provider.Header.TupleDescriptor, columnNames);

Orm/Xtensive.Orm/Orm/Rse/Providers/Compilable/StoreProvider.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ public sealed class StoreProvider : CompilableProvider
2121
/// <summary>
2222
/// Gets the name of saved data.
2323
/// </summary>
24-
public string Name { get; private set; }
24+
public string Name { get; }
2525

2626
/// <summary>
2727
/// Source provider.
2828
/// </summary>
29-
public Provider Source { get; private set; }
29+
public CompilableProvider Source { get; }
3030

3131
/// <inheritdoc/>
3232
protected override RecordSetHeader BuildHeader()
@@ -66,7 +66,7 @@ public StoreProvider(RecordSetHeader header, string name)
6666
/// </summary>
6767
/// <param name="source">The <see cref="Source"/> property value.</param>
6868
/// <param name="name">The <see cref="Name"/> property value.</param>
69-
public StoreProvider(Provider source, string name)
69+
public StoreProvider(CompilableProvider source, string name)
7070
: base(ProviderType.Store, source)
7171
{
7272
ArgumentValidator.EnsureArgumentNotNull(source, "source");
@@ -84,7 +84,7 @@ public StoreProvider(Provider source, string name)
8484
/// Initializes a new instance of this class.
8585
/// </summary>
8686
/// <param name="source">The <see cref="Source"/> property value.</param>
87-
public StoreProvider(Provider source)
87+
public StoreProvider(CompilableProvider source)
8888
: base(ProviderType.Store, source)
8989
{
9090
ArgumentValidator.EnsureArgumentNotNull(source, "source");

0 commit comments

Comments
 (0)