internal override GremlinToSqlContext GetContext() { GremlinToSqlContext inputContext = InputOperator.GetContext(); if (inputContext.PivotVariable == null) { throw new TranslationException("The PivotVariable of and()-step can't be null."); } List <GremlinToSqlContext> andContexts = new List <GremlinToSqlContext>(); if (IsInfix) { FirstTraversal.GetStartOp().InheritedVariableFromParent(inputContext); andContexts.Add(FirstTraversal.GetEndOp().GetContext()); SecondTraversal.GetStartOp().InheritedVariableFromParent(inputContext); andContexts.Add(SecondTraversal.GetEndOp().GetContext()); } else { foreach (var andTraversal in AndTraversals) { andTraversal.GetStartOp().InheritedVariableFromParent(inputContext); andContexts.Add(andTraversal.GetEndOp().GetContext()); } } inputContext.PivotVariable.And(inputContext, andContexts); return(inputContext); }
internal override GremlinToSqlContext GetContext() { GremlinToSqlContext inputContext = InputOperator.GetContext(); if (inputContext.PivotVariable == null) { throw new QueryCompilationException("The PivotVariable can't be null."); } List <GremlinToSqlContext> orContexts = new List <GremlinToSqlContext>(); if (IsInfix) { FirstTraversal.GetStartOp().InheritedVariableFromParent(inputContext); orContexts.Add(FirstTraversal.GetEndOp().GetContext()); SecondTraversal.GetStartOp().InheritedVariableFromParent(inputContext); orContexts.Add(SecondTraversal.GetEndOp().GetContext()); } else { foreach (var orTraversal in OrTraversals) { orTraversal.GetStartOp().InheritedVariableFromParent(inputContext); orContexts.Add(orTraversal.GetEndOp().GetContext()); } } inputContext.PivotVariable.Or(inputContext, orContexts); return(inputContext); }