protected virtual IQueryPlanNode VisitSingle(SingleQueryPlanNode node) { if (node is SimpleSelectNode) { return(VisitSimpleSelect((SimpleSelectNode)node)); } if (node is SimplePatternSelectNode) { return(VisitSimplePatternSelect((SimplePatternSelectNode)node)); } if (node is ExhaustiveSelectNode) { return(VisitExhaustiveSelect((ExhaustiveSelectNode)node)); } if (node is ConstantSelectNode) { return(VisitConstantSelect((ConstantSelectNode)node)); } if (node is RangeSelectNode) { return(VisitRangeSelect((RangeSelectNode)node)); } if (node is DistinctNode) { return(VisitDistinct((DistinctNode)node)); } if (node is LeftOuterJoinNode) { return(VisitLeftOuterJoin((LeftOuterJoinNode)node)); } if (node is CachePointNode) { return(VisitCachePoint((CachePointNode)node)); } if (node is MarkerNode) { return(VisitMarker((MarkerNode)node)); } if (node is SubsetNode) { return(VisitSubset((SubsetNode)node)); } if (node is GroupNode) { return(VisitGroup((GroupNode)node)); } if (node is SortNode) { return(VisitSort((SortNode)node)); } if (node is CreateFunctionsNode) { return(VisitCreateFunctions((CreateFunctionsNode)node)); } if (node is LimitNode) { return(VisitLimit((LimitNode)node)); } throw new NotSupportedException(); }
protected virtual IQueryPlanNode VisitSingle(SingleQueryPlanNode node) { if (node is SimpleSelectNode) return VisitSimpleSelect((SimpleSelectNode) node); if (node is SimplePatternSelectNode) return VisitSimplePatternSelect((SimplePatternSelectNode) node); if (node is ExhaustiveSelectNode) return VisitExhaustiveSelect((ExhaustiveSelectNode) node); if (node is ConstantSelectNode) return VisitConstantSelect((ConstantSelectNode) node); if (node is RangeSelectNode) return VisitRangeSelect((RangeSelectNode) node); if (node is DistinctNode) return VisitDistinct((DistinctNode) node); if (node is LeftOuterJoinNode) return VisitLeftOuterJoin((LeftOuterJoinNode) node); if (node is CachePointNode) return VisitCachePoint((CachePointNode) node); if (node is MarkerNode) return VisitMarker((MarkerNode) node); if (node is SubsetNode) return VisitSubset((SubsetNode) node); if (node is GroupNode) return VisitGroup((GroupNode) node); if (node is SortNode) return VisitSort((SortNode) node); if (node is CreateFunctionsNode) return VisitCreateFunctions((CreateFunctionsNode) node); if (node is LimitNode) return VisitLimit((LimitNode) node); throw new NotSupportedException(); }