public override object VisitInsert_stmt([NotNull] SqlParser.Insert_stmtContext context) { var statement = new InsertStatement(); var columnNames = context.column_name(); if (columnNames != null && columnNames.Length > 0) { statement.Columns = new List <string>(); foreach (var item in columnNames) { statement.Columns.Add(item.GetText()); } } if (context.qualified_table_name() != null) { statement.Table = (TableName)VisitQualified_table_name(context.qualified_table_name()); } if (context.K_VALUES() != null && context.K_DEFAULT() == null) { statement.Values = new List <IList <IExpression> >(); foreach (var vl in context.values_list()) { var valueList = new List <IExpression>(); foreach (var val in vl.expr()) { valueList.Add((IExpression)VisitExpr(val)); } statement.Values.Add(valueList); } } return(statement); }
/// <summary> /// Visit a parse tree produced by <see cref="SqlParser.insert_stmt"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitInsert_stmt([NotNull] SqlParser.Insert_stmtContext context) { return(VisitChildren(context)); }