pub struct RenameUserStatement {
pub renames: Vec<(String, String)>,
}Expand description
RENAME USER statement builder (MySQL only)
This struct provides a fluent API for building RENAME USER statements. This is a MySQL-specific feature.
§MySQL
MySQL RENAME USER supports renaming multiple users in a single statement:
RENAME USER old1 TO new1, old2 TO new2
§Examples
Rename a single user:
use reinhardt_query::dcl::RenameUserStatement;
let stmt = RenameUserStatement::new()
.rename("old_user@localhost", "new_user@localhost");Rename multiple users at once:
use reinhardt_query::dcl::RenameUserStatement;
let stmt = RenameUserStatement::new()
.rename("user1@localhost", "renamed1@localhost")
.rename("user2@localhost", "renamed2@localhost");Fields§
§renames: Vec<(String, String)>List of (old_name, new_name) pairs
Implementations§
Source§impl RenameUserStatement
impl RenameUserStatement
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new RENAME USER statement
§Examples
use reinhardt_query::dcl::RenameUserStatement;
let stmt = RenameUserStatement::new();Sourcepub fn rename(
self,
old_name: impl Into<String>,
new_name: impl Into<String>,
) -> Self
pub fn rename( self, old_name: impl Into<String>, new_name: impl Into<String>, ) -> Self
Add a rename pair
§Examples
use reinhardt_query::dcl::RenameUserStatement;
let stmt = RenameUserStatement::new()
.rename("old_user@localhost", "new_user@localhost");Sourcepub fn renames(self, pairs: Vec<(String, String)>) -> Self
pub fn renames(self, pairs: Vec<(String, String)>) -> Self
Set all rename pairs at once
§Examples
use reinhardt_query::dcl::RenameUserStatement;
let stmt = RenameUserStatement::new()
.renames(vec![
("old1@localhost".to_string(), "new1@localhost".to_string()),
("old2@localhost".to_string(), "new2@localhost".to_string()),
]);Sourcepub fn validate(&self) -> Result<(), String>
pub fn validate(&self) -> Result<(), String>
Validate the RENAME USER statement
§Validation Rules
- At least one rename pair must be specified
- Old and new names cannot be empty
§Examples
use reinhardt_query::dcl::RenameUserStatement;
let stmt = RenameUserStatement::new()
.rename("old_user", "new_user");
assert!(stmt.validate().is_ok());use reinhardt_query::dcl::RenameUserStatement;
let stmt = RenameUserStatement::new();
assert!(stmt.validate().is_err());Trait Implementations§
Source§impl Clone for RenameUserStatement
impl Clone for RenameUserStatement
Source§fn clone(&self) -> RenameUserStatement
fn clone(&self) -> RenameUserStatement
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 RenameUserStatement
impl Debug for RenameUserStatement
Source§impl Default for RenameUserStatement
impl Default for RenameUserStatement
Source§fn default() -> RenameUserStatement
fn default() -> RenameUserStatement
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for RenameUserStatement
impl RefUnwindSafe for RenameUserStatement
impl Send for RenameUserStatement
impl Sync for RenameUserStatement
impl Unpin for RenameUserStatement
impl UnsafeUnpin for RenameUserStatement
impl UnwindSafe for RenameUserStatement
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