//public GraphTraversal.direction dir { get; set; } public WInsertEdgeFromTwoSourceSpecification(WSqlStatement SrcSpec, WSqlStatement DestSpec /*, GraphTraversal.direction pDir*/) { //dir = pDir; SrcInsertSource = (SrcSpec as WInsertEdgeSpecification).SelectInsertSource as WSelectInsertSource; DestInsertSource = DestSpec as WSelectQueryBlock; if (SrcInsertSource == null || DestInsertSource == null) { throw new SyntaxErrorException("The insert source of the INSERT EDGE statement must be a SELECT statement."); } Target = (SrcSpec as WInsertEdgeSpecification).Target; Columns = new List <WColumnReferenceExpression>(); foreach (var col in (SrcSpec as WInsertEdgeSpecification).Columns) { Columns.Add(col); } }
public virtual void Visit(WSqlStatement node) { node.AcceptChildren(this); }