protected override void ExecuteStatement(ExecutionContext context)
{
int insertCount = 0;
//if (!context.User.CanInsertIntoTable(TableName))
// throw new MissingPrivilegesException(context.User.Name, TableName, Privileges.Insert);
var table = context.DirectAccess.GetMutableTable(TableName);
if (table == null)
throw new ObjectNotFoundException(TableName);
foreach (var assignment in Assignments) {
var columnNames =
assignment.Select(x => x.ReferenceExpression)
.Cast<SqlReferenceExpression>()
.Select(x => x.ReferenceName.Name).ToArray();
var row = table.NewRow();
foreach (var expression in assignment) {
row.EvaluateAssignment(expression, context.Request);
}
row.SetDefault(context.Request);
table.AddRow(row);
insertCount++;
}
context.SetResult(insertCount);
}