internal override string ToString(string indent)
{
StringBuilder sb = new StringBuilder(128);
WSelectElement sourceElement = SelectDeleteExpr.SelectElements[0];
WSelectElement sinkElement = SelectDeleteExpr.SelectElements[1];
sb.AppendFormat("{0}DELETE EDGE {1}-{2}->{3}",
indent,
sourceElement.ToString(""),
EdgeColumn.ToString(""),
sinkElement.ToString(""));
sb.Append("\r\n");
sb.Append(SelectDeleteExpr.FromClause.ToString(indent));
// For the DELETE EDGE statement, the first path in the parsed MATCH clause is
// the one-hop path, i.e., the edge, to be deleted.
if (SelectDeleteExpr.MatchClause.Paths.Count > 1)
{
sb.Append("\r\n");
sb.AppendFormat("{0}MATCH {1}", indent, SelectDeleteExpr.MatchClause.Paths[1].ToString(""));
for (int i = 2; i < SelectDeleteExpr.MatchClause.Paths.Count; i++)
{
sb.Append("\r\n");
sb.AppendFormat(" {0}{1}", indent, SelectDeleteExpr.MatchClause.Paths[i].ToString(""));
}
}
if (SelectDeleteExpr.WhereClause != null && SelectDeleteExpr.WhereClause.SearchCondition != null)
{
sb.Append("\r\n");
sb.Append(SelectDeleteExpr.WhereClause.ToString(indent));
}
return sb.ToString();
}