A bottleneck was the edge patterns containing the ANY edge (-[]-), see IS3. Previously this resulted in a slow blockwise nested loop join. We transform it into a union on the edge table (src, dst, * from edge_table UNION ALL dst, src, * from edge_table), resulting in two hash joins.
Fixes #107 Fixes #109 Fixes #60
A bottleneck was the edge patterns containing the
ANY
edge (-[]-
), see IS3. Previously this resulted in a slow blockwise nested loop join. We transform it into a union on the edge table (src, dst, * from edge_table UNION ALL dst, src, * from edge_table
), resulting in two hash joins.