pub struct Update<'a> {
pub update_span: Span,
pub flags: Vec<UpdateFlag>,
pub tables: Vec<TableReference<'a>>,
pub set_span: Span,
pub set: Vec<(Vec<Identifier<'a>>, Expression<'a>)>,
pub where_: Option<(Expression<'a>, Span)>,
}
Expand description
Representation of replace Statement
let sql = "UPDATE tab1, tab2 SET tab1.column1 = value1, tab1.column2 = value2 WHERE tab1.id = tab2.id";
let stmt = parse_statement(sql, &mut issues, &options);
let u: Update = match stmt {
Some(Statement::Update(u)) => u,
_ => panic!("We should get an update statement")
};
println!("{:#?}", u.where_.unwrap())
Fields
update_span: Span
Span of “UPDATE”
flags: Vec<UpdateFlag>
Flags specified after “UPDATE”
tables: Vec<TableReference<'a>>
List of tables to update
set_span: Span
Span of “SET”
set: Vec<(Vec<Identifier<'a>>, Expression<'a>)>
List of key,value pairs to set
where_: Option<(Expression<'a>, Span)>
Where expression and span of “WHERE” if specified
Trait Implementations
Auto Trait Implementations
impl<'a> RefUnwindSafe for Update<'a>
impl<'a> Send for Update<'a>
impl<'a> Sync for Update<'a>
impl<'a> Unpin for Update<'a>
impl<'a> UnwindSafe for Update<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more