Skip to content

Commit 9f530b3

Browse files
committed
Applying current formatting rules to number of touched classes + small improvements
They are rarely redacted so such 'once and for all' change seems OK. Small code improvements like - system tuple struct instead of in-project declared Pair struct, - hepler methods for some repetative checks - typeof(T).Name -> nameof(T) - Func<string> instead of string value for error that may not happen, which prevents resource string loading even if error don't appear
1 parent d64388f commit 9f530b3

4 files changed

Lines changed: 199 additions & 185 deletions

File tree

Orm/Xtensive.Orm/Orm/Rse/Transformation/Internals/ApplyPredicateCollector.cs

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -36,47 +36,51 @@ public bool TryAdd(FilterProvider filter)
3636

3737
public void AliasColumns(AliasProvider provider)
3838
{
39-
if (owner.State.Predicates.Count > 0)
39+
if (CheckPredicatesExist()) {
4040
owner.State.Predicates = collectorHelper.GenericAliasColumns(provider, owner.State.Predicates);
41+
}
4142
}
4243

4344
public void ValidateAggregatedColumns(AggregateProvider provider)
4445
{
45-
if (owner.State.Predicates.Count==0)
46-
return;
47-
foreach (var parameterPair in owner.State.Predicates)
48-
foreach (var predicatePair in parameterPair.Value)
49-
foreach (var column in predicatePair.Second)
50-
if (provider.GroupColumnIndexes.Contains(column.Index))
51-
ApplyProviderCorrectorRewriter.ThrowInvalidOperationException(
52-
Strings.ExColumnsUsedByPredicateContainingApplyParameterAreRemoved);
53-
46+
if (CheckPredicatesExist()) {
47+
foreach (var parameterPair in owner.State.Predicates)
48+
foreach (var predicatePair in parameterPair.Value)
49+
foreach (var column in predicatePair.Item2)
50+
if (provider.GroupColumnIndexes.Contains(column.Index)) {
51+
ApplyProviderCorrectorRewriter.ThrowInvalidOperationException(
52+
Strings.ExColumnsUsedByPredicateContainingApplyParameterAreRemoved);
53+
}
54+
}
5455
}
5556

5657
public void ValidateSelectedColumnIndexes(SelectProvider provider)
5758
{
58-
if (owner.State.Predicates.Count == 0)
59-
return;
60-
collectorHelper.ValidateNewColumnIndexes(owner.State.Predicates, provider.Header.Columns,
61-
Strings.ExColumnsUsedByPredicateContainingApplyParameterAreRemoved);
59+
if (CheckPredicatesExist()) {
60+
collectorHelper.ValidateNewColumnIndexes(owner.State.Predicates,
61+
provider.Header.Columns,
62+
() => Strings.ExColumnsUsedByPredicateContainingApplyParameterAreRemoved);
63+
}
6264
}
6365

6466
#region Private \ internal methods
6567

6668
private void SaveApplyPredicate(FilterProvider filter, ApplyParameter applyParameter)
6769
{
68-
if (owner.State.Predicates.ContainsKey(applyParameter))
70+
if (owner.State.Predicates.ContainsKey(applyParameter)) {
6971
owner.State.Predicates[applyParameter]
70-
.Add(new Pair<Expression<Func<Tuple, bool>>, ColumnCollection>(filter.Predicate,
71-
filter.Header.Columns));
72+
.Add((filter.Predicate, filter.Header.Columns));
73+
}
7274
else {
73-
var newPair = new Pair<Expression<Func<Tuple, bool>>, ColumnCollection>(filter.Predicate,
74-
filter.Header.Columns);
7575
owner.State.Predicates.Add(applyParameter,
76-
new List<Pair<Expression<Func<Tuple, bool>>, ColumnCollection>> {newPair});
76+
new List<(Expression<Func<Tuple, bool>>, ColumnCollection)> { (filter.Predicate, filter.Header.Columns) });
7777
}
7878
}
7979

80+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
81+
private bool CheckPredicatesExist() =>
82+
owner.State.Predicates.Count > 0;
83+
8084
#endregion
8185

8286

0 commit comments

Comments
 (0)