Skip to content

Commit

Permalink
Add from_clear to allow emptying current from tables in select statem…
Browse files Browse the repository at this point in the history
…ent (#716)
  • Loading branch information
dragonnn authored Dec 14, 2023
1 parent 826ce78 commit 256dee4
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions src/query/select.rs
Original file line number Diff line number Diff line change
Expand Up @@ -987,6 +987,38 @@ impl SelectStatement {
self.from_from(TableRef::FunctionCall(func, alias.into_iden()))
}

/// Clears all current from clauses.
///
/// # Examples
///
/// ```
/// use sea_query::{tests_cfg::*, *};
///
/// let query = Query::select()
/// .column(ColumnRef::Asterisk)
/// .from(Char::Table)
/// .from_clear()
/// .from(Font::Table)
/// .to_owned();
///
/// assert_eq!(
/// query.to_string(MysqlQueryBuilder),
/// r#"SELECT * FROM `font`"#
/// );
/// assert_eq!(
/// query.to_string(PostgresQueryBuilder),
/// r#"SELECT * FROM "font""#
/// );
/// assert_eq!(
/// query.to_string(SqliteQueryBuilder),
/// r#"SELECT * FROM "font""#
/// );
/// ```
pub fn from_clear(&mut self) -> &mut Self {
self.from.clear();
self
}

#[allow(clippy::wrong_self_convention)]
fn from_from(&mut self, select: TableRef) -> &mut Self {
self.from.push(select);
Expand Down

0 comments on commit 256dee4

Please sign in to comment.