public MatchComponent(MatchNode node, List <MatchEdge> populatedEdges, WSqlTableContext context) : this(node) { Context = context; foreach (var edge in populatedEdges) { TableRef = SpanTableRef(TableRef, edge, node.RefAlias); EdgeMaterilizedDict[edge] = true; StatisticsDict[edge.SinkNode] = Context.GetEdgeStatistics(edge); var edgeList = UnmaterializedNodeMapping.GetOrCreate(edge.SinkNode); edgeList.Add(edge); Nodes.Add(edge.SinkNode); Size *= edge.AverageDegree; EstimateSize *= 1000; } }
public MatchComponent(MatchNode node, List<MatchEdge> populatedEdges, WSqlTableContext context) : this(node) { Context = context; foreach (var edge in populatedEdges) { TableRef = SpanTableRef(TableRef, edge, node.RefAlias); EdgeMaterilizedDict[edge] = true; StatisticsDict[edge.SinkNode] = Context.GetEdgeStatistics(edge); var edgeList = UnmaterializedNodeMapping.GetOrCreate(edge.SinkNode); edgeList.Add(edge); Nodes.Add(edge.SinkNode); Size *= edge.AverageDegree; EstimateSize *= 1000; } }