-
Type:
Improvement
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Optimization
-
Fully Compatible
-
None
-
None
-
None
-
None
-
None
-
None
-
None
The initial implementation of the JoinGraph supported NodeSets on either side of an edge in an attempt to future proof the graph to more complex edges (A.a + B.b = C.c + D.d). However, in practice this has made all graph algorithms need to consider their semantics in the presence of multiple nodes on an edge. Since these types of complex predicates will not allow us to enumerate any more plans/different join algorithms (the predicate above can only be satisfied by a filter after the cross product of ABCD), it is not helpful to be represented in the graph. This ticket will simplify the join graph to represent edges as connections between single nodes.