2 instantiations of JoinEdge
System.Data.Entity (2)
System\Data\Query\PlanCompiler\JoinGraph.cs (2)
437
JoinEdge joinEdge = new
JoinEdge
(left, right, joinNode, joinKind, leftVars, rightVars);
453
JoinEdge joinEdge = new
JoinEdge
(left, right, null, joinKind, leftVars, rightVars);
63 references to JoinEdge
System.Data.Entity (63)
System\Data\Query\PlanCompiler\JoinGraph.cs (63)
89
private readonly List<
JoinEdge
> m_joinEdges = new List<
JoinEdge
>();
153
internal List<
JoinEdge
> JoinEdges
422
internal static
JoinEdge
CreateJoinEdge(AugmentedTableNode left, AugmentedTableNode right,
437
JoinEdge
joinEdge = new JoinEdge(left, right, joinNode, joinKind, leftVars, rightVars);
450
internal static
JoinEdge
CreateTransitiveJoinEdge(AugmentedTableNode left, AugmentedTableNode right, JoinKind joinKind,
453
JoinEdge
joinEdge = new JoinEdge(left, right, null, joinKind, leftVars, rightVars);
785
foreach (
JoinEdge
joinEdge in leftTableNode.JoinEdges)
795
JoinEdge
newJoinEdge =
JoinEdge
.CreateJoinEdge(leftTableNode, rightTableNode, joinNode, leftVar, rightVar);
992
private bool GenerateTransitiveEdge(
JoinEdge
edge1,
JoinEdge
edge2)
1024
foreach (
JoinEdge
edge3 in edge1.Left.JoinEdges)
1075
JoinEdge
newEdge =
JoinEdge
.CreateTransitiveJoinEdge(edge1.Left, edge2.Right, edge1.JoinKind,
1080
JoinEdge
reverseEdge =
JoinEdge
.CreateTransitiveJoinEdge(edge2.Right, edge1.Left, edge1.JoinKind,
1142
List<
JoinEdge
> newJoinEdges = new List<
JoinEdge
>(augmentedJoinNode.JoinEdges.Count);
1143
foreach (
JoinEdge
joinEdge in augmentedJoinNode.JoinEdges)
1149
JoinEdge
newJoinEdge =
JoinEdge
.CreateJoinEdge(joinEdge.Right, joinEdge.Left, augmentedJoinNode, joinEdge.RightVars[0], joinEdge.LeftVars[0]);
1201
private bool ContainsJoinEdgeForTable(IEnumerable<
JoinEdge
> joinEdges, Table table)
1203
foreach (
JoinEdge
joinEdge in joinEdges)
1221
private bool CanAllJoinEdgesBeTurnedIntoInnerJoins(AugmentedNode rightNode, IEnumerable<
JoinEdge
> joinEdges)
1223
foreach (
JoinEdge
joinEdge in joinEdges)
1245
private bool CanJoinEdgeBeTurnedIntoInnerJoin(AugmentedNode rightNode,
JoinEdge
joinEdge)
1263
private bool IsConstraintPresentForTurningIntoInnerJoin(
JoinEdge
joinEdge)
1307
JoinEdge
e1 = tableNode.JoinEdges[i];
1312
JoinEdge
e2 = rightTable.JoinEdges[j];
1366
private static bool CanBeEliminatedViaStarJoinBasedOnOtherJoinParticipation(
JoinEdge
tableJoinEdge,
JoinEdge
replacingTableJoinEdge)
1390
private static bool CanGetFileredByJoins(
JoinEdge
joinEdge, AugmentedNode leastCommonAncestor, bool disallowAnyJoin)
1614
private void EliminateStarSelfJoin(List<
JoinEdge
> joinEdges)
1616
List<List<
JoinEdge
>> compatibleGroups = new List<List<
JoinEdge
>>();
1618
foreach (
JoinEdge
joinEdge in joinEdges)
1622
foreach (List<
JoinEdge
> joinEdgeList in compatibleGroups)
1636
List<
JoinEdge
> newList = new List<
JoinEdge
>();
1642
foreach (List<
JoinEdge
> joinList in compatibleGroups.Where(l => l.Count > 1))
1645
JoinEdge
smallestEdge = joinList[0];
1646
foreach (
JoinEdge
joinEdge in joinList)
1655
foreach (
JoinEdge
joinEdge in joinList)
1677
private bool AreMatchingForStarSelfJoinElimination(
JoinEdge
edge1,
JoinEdge
edge2)
1711
private bool QualifiesForStarSelfJoinGroup(
JoinEdge
joinEdge)
1743
Dictionary<md.EntitySetBase, List<
JoinEdge
>> groupedEdges = new Dictionary<md.EntitySetBase, List<
JoinEdge
>>();
1744
foreach (
JoinEdge
joinEdge in tableNode.JoinEdges)
1752
List<
JoinEdge
> edges;
1755
edges = new List<
JoinEdge
>();
1763
foreach (KeyValuePair<md.EntitySetBase, List<
JoinEdge
>> kv in groupedEdges)
1780
private bool EliminateSelfJoin(
JoinEdge
joinEdge)
1849
foreach (
JoinEdge
joinEdge in tableNode.JoinEdges)
1904
private void EliminateLeftTable(
JoinEdge
joinEdge)
1933
private void EliminateRightTable(
JoinEdge
joinEdge)
1957
private bool RightTableHasKeyReferences(
JoinEdge
joinEdge)
1998
private bool TryEliminateParentChildJoin(
JoinEdge
joinEdge, ForeignKeyConstraint fkConstraint)
2136
private bool TryEliminateChildParentJoin(
JoinEdge
joinEdge, ForeignKeyConstraint fkConstraint)
2171
private bool TryEliminateRightTable(
JoinEdge
joinEdge, int fkConstraintKeyCount, bool allowRefsForJoinedOnFkOnly)
2198
private void EliminateParentChildJoin(
JoinEdge
joinEdge)
2246
foreach (
JoinEdge
joinEdge in tableNode.JoinEdges)