public static InsertQueryInfo VisitInsertStatement(InsertStatementContext context) { var queryInfo = new InsertQueryInfo { IgnoreDuplicate = context.IGNORE() != null, TableName = VisitTableName(context.tableName()), Columns = context.columns?.uid().Select(uid => GetSinglePartName(uid.GetText(), "Column")).ToArray() ?? Array.Empty <string>() }; VisitInsertStatementValue(context.insertStatementValue(), queryInfo); return(queryInfo); }
public static void VisitInsertStatementValue(InsertStatementValueContext context, InsertQueryInfo queryInfo) { switch (context) { case ExpressionInsertStatementContext expressionContext: { queryInfo.Rows = expressionContext.expressionsWithDefaults().Select(VisitExpressionsWithDefault); break; } case JsonInsertStatementContext jsonContext: { queryInfo.JsonValues = jsonContext.jsonObject().Select(ExpressionVisitor.VisitJsonObject); break; } } }