2 types derived from Rule
System.Data.Entity (2)
System\Data\Query\InternalTrees\Rule.cs (2)
110
internal sealed class SimpleRule :
Rule
139
internal sealed class PatternMatchRule:
Rule
65 references to Rule
System.Data.Entity (65)
System\Data\Query\InternalTrees\RuleProcessor.cs (5)
45
private static bool ApplyRulesToNode(RuleProcessingContext context, ReadOnlyCollection<ReadOnlyCollection<InternalTrees.
Rule
>> rules, Node currentNode, out Node newNode)
52
foreach (
Rule
r in rules[(int)currentNode.Op.OpType])
86
ReadOnlyCollection<ReadOnlyCollection<InternalTrees.
Rule
>> rules,
155
internal Node ApplyRulesToSubtree(RuleProcessingContext context, ReadOnlyCollection<ReadOnlyCollection<InternalTrees.
Rule
>> rules, Node subTreeRoot)
247
internal virtual void PostProcess(Node node,
Rule
rule)
System\Data\Query\PlanCompiler\TransformationRules.cs (60)
497
internal override void PostProcess(Node n, InternalTrees.
Rule
rule)
595
internal static readonly ReadOnlyCollection<ReadOnlyCollection<InternalTrees.
Rule
>> AllRulesTable = BuildLookupTableForRules(AllRules);
601
internal static readonly ReadOnlyCollection<ReadOnlyCollection<InternalTrees.
Rule
>> ProjectRulesTable = BuildLookupTableForRules(ProjectOpRules.Rules);
608
internal static readonly ReadOnlyCollection<ReadOnlyCollection<InternalTrees.
Rule
>> PostJoinEliminationRulesTable = BuildLookupTableForRules(PostJoinEliminationRules);
615
internal static readonly ReadOnlyCollection<ReadOnlyCollection<InternalTrees.
Rule
>> NullabilityRulesTable = BuildLookupTableForRules(NullabilityRules);
621
internal static readonly HashSet<InternalTrees.
Rule
> RulesRequiringProjectionPruning = InitializeRulesRequiringProjectionPruning();
627
internal static readonly HashSet<InternalTrees.
Rule
> RulesRequiringNullabilityRulesToBeReapplied = InitializeRulesRequiringNullabilityRulesToBeReapplied();
631
private static List<InternalTrees.
Rule
> allRules;
632
private static List<InternalTrees.
Rule
> AllRules
638
allRules = new List<InternalTrees.
Rule
>();
655
private static List<InternalTrees.
Rule
> postJoinEliminationRules;
656
private static List<InternalTrees.
Rule
> PostJoinEliminationRules
662
postJoinEliminationRules = new List<InternalTrees.
Rule
>();
673
private static List<InternalTrees.
Rule
> nullabilityRules;
674
private static List<InternalTrees.
Rule
> NullabilityRules
680
nullabilityRules = new List<InternalTrees.
Rule
>();
691
private static ReadOnlyCollection<ReadOnlyCollection<InternalTrees.
Rule
>> BuildLookupTableForRules(IEnumerable<InternalTrees.
Rule
> rules)
693
ReadOnlyCollection<InternalTrees.
Rule
> NoRules = new ReadOnlyCollection<InternalTrees.
Rule
>(new InternalTrees.
Rule
[0]);
695
List<InternalTrees.
Rule
>[] lookupTable = new List<InternalTrees.
Rule
>[(int)OpType.MaxMarker];
697
foreach (InternalTrees.
Rule
rule in rules)
699
List<InternalTrees.
Rule
> opRules = lookupTable[(int)rule.RuleOpType];
702
opRules = new List<InternalTrees.
Rule
>();
708
ReadOnlyCollection<InternalTrees.
Rule
>[] rulesPerType = new ReadOnlyCollection<InternalTrees.
Rule
>[lookupTable.Length];
713
rulesPerType[i] = new ReadOnlyCollection<InternalTrees.
Rule
>(lookupTable[i].ToArray());
720
return new ReadOnlyCollection<ReadOnlyCollection<InternalTrees.
Rule
>>(rulesPerType);
723
private static HashSet<InternalTrees.
Rule
> InitializeRulesRequiringProjectionPruning()
725
HashSet<InternalTrees.
Rule
> rulesRequiringProjectionPruning = new HashSet<InternalTrees.
Rule
>();
746
private static HashSet<InternalTrees.
Rule
> InitializeRulesRequiringNullabilityRulesToBeReapplied()
748
HashSet<InternalTrees.
Rule
> rulesRequiringNullabilityRulesToBeReapplied = new HashSet<InternalTrees.
Rule
>();
765
ReadOnlyCollection<ReadOnlyCollection<InternalTrees.
Rule
>> rulesTable = null;
798
private static bool Process(PlanCompiler compilerState, ReadOnlyCollection<ReadOnlyCollection<InternalTrees.
Rule
>> rulesTable, out bool projectionPruningRequired)
1342
internal static readonly InternalTrees.
Rule
[] Rules = new InternalTrees.
Rule
[] {
2068
internal static readonly InternalTrees.
Rule
[] Rules = new InternalTrees.
Rule
[] {
2393
internal static readonly InternalTrees.
Rule
[] Rules = new InternalTrees.
Rule
[] {
3319
internal static readonly InternalTrees.
Rule
[] Rules = new InternalTrees.
Rule
[] {
3663
internal static readonly InternalTrees.
Rule
[] Rules = new InternalTrees.
Rule
[] {
3766
internal static readonly InternalTrees.
Rule
[] Rules = new InternalTrees.
Rule
[] {
3848
internal static readonly InternalTrees.
Rule
[] Rules = new InternalTrees.
Rule
[] {
4321
internal static readonly InternalTrees.
Rule
[] Rules = new InternalTrees.
Rule
[] {
4365
internal static readonly InternalTrees.
Rule
[] Rules = new InternalTrees.
Rule
[] {
4403
internal static readonly InternalTrees.
Rule
[] Rules = new InternalTrees.
Rule
[] {
4454
internal static readonly InternalTrees.
Rule
[] Rules = new InternalTrees.
Rule
[] {