public override IASTNode VisitInsertValuesClause(MySqlCommandParser.InsertValuesClauseContext ctx) { InsertCommand result = new InsertCommand(); if (null != ctx.columnNames()) { MySqlCommandParser.ColumnNamesContext columnNames = ctx.columnNames(); CollectionValue <ColumnSegment> columnSegments = (CollectionValue <ColumnSegment>)Visit(columnNames); result.InsertColumns = new InsertColumnsSegment(columnNames.Start.StartIndex, columnNames.Stop.StopIndex, columnSegments.GetValue()); } else { result.InsertColumns = new InsertColumnsSegment(ctx.Start.StartIndex - 1, ctx.Start.StartIndex - 1, new List <ColumnSegment>()); } result.Values.AddAll(CreateInsertValuesSegments(ctx.assignmentValues())); return(result); }