internal override string ToString(string indent) { var sb = new StringBuilder(); //sb.AppendFormat("{0}INSERT EDGE INTO {1}.{2}\r\n", indent, Target.ToString(), EdgeColumn.ToString()); //if (EdgeColumn != null) // sb.AppendFormat("{0}INSERT EDGE INTO {1}.{2}\r\n", indent, Target.ToString(), EdgeColumn.ToString()); //else // sb.AppendFormat("{0}INSERT EDGE INTO {1}\r\n", indent, Target.ToString()); sb.AppendFormat("{0}INSERT INTO {1}", indent, Target.ToString()); if (Columns != null && Columns.Count > 0) { sb.AppendFormat(" ({0}", Columns[0].ToString(indent)); for (var i = 1; i < Columns.Count; ++i) { sb.AppendFormat(", {0}", Columns[i].ToString(indent)); } sb.Append(")"); } sb.Append("\r\n"); sb.Append(SelectInsertSource.ToString(indent)); //sb.Append(SelectInsertSource.ToString(indent)); //sb.Append("\r\n"); return(sb.ToString()); }
public override void AcceptChildren(WSqlFragmentVisitor visitor) { if (SelectInsertSource != null) { SelectInsertSource.Accept(visitor); } base.AcceptChildren(visitor); }
internal override string ToString(string indent) { var sb = new StringBuilder(); sb.AppendFormat("{0}INSERT EDGE INTO {1}.{2}\r\n", indent, Target.ToString(), EdgeColumn.ToString()); sb.Append(SelectInsertSource.ToString(indent)); return(sb.ToString()); }
public static EngineResult Evaluate(InsertSpecification insert, IOutputSink sink, Scope scope) { var table = scope.Env.GetTable((NamedTableReference)insert.Target); return(insert.InsertSource switch { ValuesInsertSource values => Evaluate(table, insert.Columns, values, NullArgument.It, sink, scope), SelectInsertSource select => Evaluate(table, insert.Columns, Evaluate(@select.Select, scope).ResultSet, sink, scope), _ => throw FeatureNotSupportedException.Subtype(insert.InsertSource) });
protected override object InternalVisit(SelectInsertSource node) { var result = Visit <SQLExecutionResult>(node.Select).Values; return(result.Records.Select(r => r.ItemArray).ToArray()); }
public override void Visit(SelectInsertSource node) { this.action(node); }
public override void ExplicitVisit(SelectInsertSource fragment) { _fragments.Add(fragment); }