System\Data\Query\PlanCompiler\JoinGraph.cs (25)
410get { return this.Left.IsEliminated || this.Right.IsEliminated; }
994PlanCompiler.Assert(edge1.Right == edge2.Left, "need a common table for transitive predicate generation");
997if (edge2.Right == edge1.Left)
1010(edge1.Left != edge1.Right || edge2.Left != edge2.Right))
1024foreach (JoinEdge edge3 in edge1.Left.JoinEdges)
1075JoinEdge newEdge = JoinEdge.CreateTransitiveJoinEdge(edge1.Left, edge2.Right, edge1.JoinKind,
1077edge1.Left.JoinEdges.Add(newEdge);
1080JoinEdge reverseEdge = JoinEdge.CreateTransitiveJoinEdge(edge2.Right, edge1.Left, edge1.JoinKind,
1146if (!ContainsJoinEdgeForTable(joinEdge.Right.JoinEdges, joinEdge.Left.Table))
1149JoinEdge newJoinEdge = JoinEdge.CreateJoinEdge(joinEdge.Right, joinEdge.Left, augmentedJoinNode, joinEdge.RightVars[0], joinEdge.LeftVars[0]);
1267if (m_constraintManager.IsParentChildRelationship(joinEdge.Right.Table.TableMetadata.Extent, joinEdge.Left.Table.TableMetadata.Extent, out fkConstraints))
1789if (!joinEdge.Left.Table.TableMetadata.Extent.Equals(joinEdge.Right.Table.TableMetadata.Extent))
1807VarVec keyVars = m_command.CreateVarVec(joinEdge.Left.Table.Keys);
1824if (!CanBeEliminatedBasedOnLojParticipation(joinEdge.Right, joinEdge.Left))
1832EliminateSelfJoinedTable(joinEdge.Right, joinEdge.Left);
1907MarkTableAsEliminated<ColumnVar>(joinEdge.Left, joinEdge.Right, joinEdge.LeftVars, joinEdge.RightVars);
1936PlanCompiler.Assert(joinEdge.Left.Id < joinEdge.Right.Id,
1937"(left-id, right-id) = (" + joinEdge.Left.Id + "," + joinEdge.Right.Id + ")");
1938MarkTableAsEliminated<ColumnVar>(joinEdge.Right, joinEdge.Left, joinEdge.RightVars, joinEdge.LeftVars);
2019if (HasNonKeyReferences(joinEdge.Left.Table))
2024if (!CanBeEliminatedBasedOnLojParticipation(joinEdge.Right, joinEdge.Left))
2183if (!CanBeEliminatedBasedOnLojParticipation(joinEdge.Right, joinEdge.Left))
2203if (m_constraintManager.IsParentChildRelationship(joinEdge.Left.Table.TableMetadata.Extent, joinEdge.Right.Table.TableMetadata.Extent,
2223if (m_constraintManager.IsParentChildRelationship(joinEdge.Right.Table.TableMetadata.Extent, joinEdge.Left.Table.TableMetadata.Extent,