示例#1
0
        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);
        }