pub struct DeleteParams {
pub filters: Vec<LogicCondition>,
pub order: Vec<OrderTerm>,
pub limit: Option<u64>,
pub returning: Option<Vec<SelectItem>>,
}Expand description
Parameters for a DELETE operation.
§Safety
Deletes without filters are rejected to prevent accidental mass deletions. Use LIMIT with ORDER BY for predictable results.
§Examples
use postgrest_parser::{DeleteParams, parse_filter, LogicCondition};
// Delete with filter
let filter = parse_filter("status", "eq.inactive").unwrap();
let params = DeleteParams::new()
.with_filters(vec![LogicCondition::Filter(filter)]);
assert!(params.has_filters());
// Delete with LIMIT and ORDER BY
use postgrest_parser::parse_order;
let filter = parse_filter("created_at", "lt.2020-01-01").unwrap();
let order = parse_order("created_at.asc").unwrap();
let params = DeleteParams::new()
.with_filters(vec![LogicCondition::Filter(filter)])
.with_order(order)
.with_limit(100);
assert_eq!(params.limit, Some(100));Fields§
§filters: Vec<LogicCondition>WHERE clause filters (required for safety)
order: Vec<OrderTerm>Optional ORDER BY clause (required if using LIMIT)
limit: Option<u64>Optional LIMIT clause
returning: Option<Vec<SelectItem>>Optional RETURNING clause columns (returns deleted rows)
Implementations§
Source§impl DeleteParams
impl DeleteParams
Sourcepub fn with_filters(self, filters: Vec<LogicCondition>) -> Self
pub fn with_filters(self, filters: Vec<LogicCondition>) -> Self
Adds WHERE clause filters.
Sourcepub fn with_order(self, order: Vec<OrderTerm>) -> Self
pub fn with_order(self, order: Vec<OrderTerm>) -> Self
Adds ORDER BY clause.
Sourcepub fn with_limit(self, limit: u64) -> Self
pub fn with_limit(self, limit: u64) -> Self
Adds LIMIT clause (requires ORDER BY for safety).
Sourcepub fn with_returning(self, returning: Vec<SelectItem>) -> Self
pub fn with_returning(self, returning: Vec<SelectItem>) -> Self
Specifies columns to return from deleted rows (RETURNING clause).
Sourcepub fn has_filters(&self) -> bool
pub fn has_filters(&self) -> bool
Returns true if filters are present.
Trait Implementations§
Source§impl Clone for DeleteParams
impl Clone for DeleteParams
Source§fn clone(&self) -> DeleteParams
fn clone(&self) -> DeleteParams
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 DeleteParams
impl Debug for DeleteParams
Source§impl Default for DeleteParams
impl Default for DeleteParams
Source§impl<'de> Deserialize<'de> for DeleteParams
impl<'de> Deserialize<'de> for DeleteParams
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for DeleteParams
impl PartialEq for DeleteParams
Source§impl Serialize for DeleteParams
impl Serialize for DeleteParams
impl StructuralPartialEq for DeleteParams
Auto Trait Implementations§
impl Freeze for DeleteParams
impl RefUnwindSafe for DeleteParams
impl Send for DeleteParams
impl Sync for DeleteParams
impl Unpin for DeleteParams
impl UnwindSafe for DeleteParams
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