pub struct DropUserStatement {
pub user_names: Vec<String>,
pub if_exists: bool,
}Expand description
DROP USER statement builder
This struct provides a fluent API for building DROP USER statements.
§PostgreSQL
PostgreSQL DROP USER is an alias for DROP ROLE.
§MySQL
MySQL DROP USER supports:
- IF EXISTS clause
- User@host specification
- Multiple users
§Examples
Drop a single user:
use reinhardt_query::dcl::DropUserStatement;
let stmt = DropUserStatement::new()
.user("app_user");Drop multiple users (MySQL):
use reinhardt_query::dcl::DropUserStatement;
let stmt = DropUserStatement::new()
.users(vec!["user1@localhost".to_string(), "user2@localhost".to_string()])
.if_exists(true);Fields§
§user_names: Vec<String>User names (with optional @host for MySQL)
if_exists: boolIF EXISTS clause
Implementations§
Source§impl DropUserStatement
impl DropUserStatement
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new DROP USER statement
§Examples
use reinhardt_query::dcl::DropUserStatement;
let stmt = DropUserStatement::new();Sourcepub fn user(self, name: impl Into<String>) -> Self
pub fn user(self, name: impl Into<String>) -> Self
Add a single user to drop
§Examples
use reinhardt_query::dcl::DropUserStatement;
let stmt = DropUserStatement::new()
.user("app_user");MySQL with host:
use reinhardt_query::dcl::DropUserStatement;
let stmt = DropUserStatement::new()
.user("app_user@localhost");Sourcepub fn users(self, names: Vec<String>) -> Self
pub fn users(self, names: Vec<String>) -> Self
Set all users to drop at once
§Examples
use reinhardt_query::dcl::DropUserStatement;
let stmt = DropUserStatement::new()
.users(vec!["user1".to_string(), "user2".to_string()]);Sourcepub fn if_exists(self, flag: bool) -> Self
pub fn if_exists(self, flag: bool) -> Self
Set IF EXISTS flag
§Examples
use reinhardt_query::dcl::DropUserStatement;
let stmt = DropUserStatement::new()
.user("app_user")
.if_exists(true);Sourcepub fn validate(&self) -> Result<(), String>
pub fn validate(&self) -> Result<(), String>
Validate the DROP USER statement
§Validation Rules
- At least one user must be specified
§Examples
use reinhardt_query::dcl::DropUserStatement;
let stmt = DropUserStatement::new()
.user("app_user");
assert!(stmt.validate().is_ok());use reinhardt_query::dcl::DropUserStatement;
let stmt = DropUserStatement::new();
assert!(stmt.validate().is_err());Trait Implementations§
Source§impl Clone for DropUserStatement
impl Clone for DropUserStatement
Source§fn clone(&self) -> DropUserStatement
fn clone(&self) -> DropUserStatement
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DropUserStatement
impl Debug for DropUserStatement
Source§impl Default for DropUserStatement
impl Default for DropUserStatement
Source§fn default() -> DropUserStatement
fn default() -> DropUserStatement
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for DropUserStatement
impl RefUnwindSafe for DropUserStatement
impl Send for DropUserStatement
impl Sync for DropUserStatement
impl Unpin for DropUserStatement
impl UnsafeUnpin for DropUserStatement
impl UnwindSafe for DropUserStatement
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more