protected override SqlStatement VisitAlterUser(AlterUserStatement statement)
{
builder.AppendFormat("ALTER USER {0} ", statement.UserName);
if (statement.AlterAction is SetUserRolesAction) {
var setRoles = (SetUserRolesAction) statement.AlterAction;
var roles = String.Join(", ", setRoles.Roles.Select(x => x.ToString()).ToArray());
builder.AppendFormat(" SET ROLE ", roles);
} else if (statement.AlterAction is SetPasswordAction) {
var setPassword = (SetPasswordAction) statement.AlterAction;
builder.AppendFormat(" SET PASSWORD {0}", setPassword.PasswordExpression);
} else if (statement.AlterAction is SetAccountStatusAction) {
var setStatus = (SetAccountStatusAction) statement.AlterAction;
builder.AppendFormat(" SET ACCOUNT STATUS {0}", setStatus.ActionType.ToString().ToUpperInvariant());
}
return base.VisitAlterUser(statement);
}