public EdgeQueryStep(IGraphQueryStep left, IGraphQueryStep right, EdgeQueryStep eqs, OperationCancelToken token) { _left = left; _right = right; _aliases = new HashSet <string>(); _aliases.UnionWith(_left.GetAllAliases()); _aliases.UnionWith(_right.GetAllAliases()); _aliases.Add(eqs._edgePath.Alias.Value); _edgePath = eqs._edgePath; _queryParameters = eqs._queryParameters; _edgesExpression = eqs._edgesExpression; _outputAlias = _right.GetOutputAlias(); _token = token; }
public EdgeQueryStep(IGraphQueryStep left, IGraphQueryStep right, WithEdgesExpression edgesExpression, MatchPath edgePath, BlittableJsonReaderObject queryParameters, OperationCancelToken token) { _left = left; _right = right; _aliases = new HashSet <string>(); _aliases.UnionWith(_left.GetAllAliases()); _aliases.UnionWith(_right.GetAllAliases()); _aliases.Add(edgePath.Alias.Value); _edgePath = edgePath; _queryParameters = queryParameters; _edgesExpression = edgesExpression; _outputAlias = _right.GetOutputAlias(); _token = token; }
public RecursionQueryStep(IGraphQueryStep left, RecursionQueryStep rqs, OperationCancelToken token) { _left = left; _steps = rqs._steps; _recursive = rqs._recursive; _options = rqs._options; _stepAliases.Add(left.GetOutputAlias()); foreach (var step in _steps) { if (step.Right == null) { continue; } _stepAliases.Add(step.Right.GetOutputAlias()); } _outputAlias = _stepAliases.Last(); _token = token; }
public RecursionQueryStep(IGraphQueryStep left, List <SingleEdgeMatcher> steps, RecursiveMatch recursive, RecursiveMatch.RecursiveOptions options, OperationCancelToken token) { _left = left; _steps = steps; _recursive = recursive; _options = options; _stepAliases.Add(left.GetOutputAlias()); foreach (var step in _steps) { if (step.Right == null) { continue; } _stepAliases.Add(step.Right.GetOutputAlias()); } _outputAlias = _stepAliases.Last(); _allLliases.UnionWith(_left.GetAllAliases()); _allLliases.Add(_recursive.Alias.Value); _token = token; }
internal (WithEdgesExpression Edge, StringSegment EdgeAlias, StringSegment RecursionAlias, string SourceAlias) GetOutputEdgeInfo() { var match = _steps[_steps.Count - 1]; return(match.Edge, match.EdgeAlias, _recursive.Alias, _left.GetOutputAlias()); }