cake/delete
A DSL to build DELETE
queries.
Functions
pub fn comment(
query qry: Delete(a),
comment cmmnt: String,
) -> Delete(a)
Specify a comment for the Delete
query.
pub fn epilog(
query qry: Delete(a),
epilog eplg: String,
) -> Delete(a)
Specify an epilog for the Delete
query.
pub fn get_comment(query qry: Delete(a)) -> Comment
Get the comment from an Delete
query.
pub fn get_epilog(query qry: Delete(a)) -> Epilog
Get the epilog from an Delete
query.
pub fn get_table(query qry: Delete(a)) -> DeleteTable
Gets the table name of the Delete
query.
pub fn get_using(query qry: Delete(a)) -> List(From)
Gets the USING
clause of the Delete
query.
pub fn join(query qry: Delete(a), join jn: Join) -> Delete(a)
Adds a Join
to the Delete
query.
NOTICE: On Postgres/SQLite Joins
are only allowed if the FROM
clause is
set as well.
pub fn joins(
query qry: Delete(a),
joins jns: List(Join),
) -> Delete(a)
Adds Join
s to the Delete
query.
NOTICE: On Postgres/SQLite Joins
are only allowed if the FROM
clause is
set as well.
pub fn modifier(
query qry: Delete(a),
modifier mdfr: String,
) -> Delete(a)
Sets the DELETE
modifier.
pub fn no_comment(query qry: Delete(a)) -> Delete(a)
Specify that no comment should be added to the Delete
query.
pub fn no_epilog(query qry: Delete(a)) -> Delete(a)
Specify that no epilog should be added to the Delete
query.
pub fn no_join(query qry: Delete(a)) -> Delete(a)
Removes any Joins
from the Delete
query.
pub fn no_returning(query qry: Delete(a)) -> Delete(a)
Specify that no columns should be returned after the Delete
query.
pub fn no_table(query qry: Delete(a)) -> Delete(a)
Removes the table name from the Delete
query.
pub fn no_using(query qry: Delete(a)) -> Delete(a)
Removes the USING
clause from the Delete
query.
pub fn no_where(query qry: Delete(a)) -> Delete(a)
Removes the Where
from the Delete
query.
pub fn or_where(
query qry: Delete(a),
where whr: Where,
) -> Delete(a)
Sets an OrWhere
or appends into an existing OrWhere
.
- If the outermost
Where
is anOrWhere
, the newWhere
is appended to the list withinOrWhere
. - If the query does not have a
Where
clause, the givenWhere
is set instead. - If the outermost
Where
is any other kind ofWhere
, this and the current outermostWhere
are wrapped in anOrWhere
.
pub fn replace_join(
query qry: Delete(a),
join jn: Join,
) -> Delete(a)
Replaces any Join
s of the Delete
query with a signle Join
.
NOTICE: On Postgres/SQLite Joins
are only allowed if the FROM
clause is
set as well.
pub fn replace_joins(
query qry: Delete(a),
joins jns: List(Join),
) -> Delete(a)
Replaces any Join
s of the Delete
query with the given Join
s.
NOTICE: On Postgres/SQLite Joins
are only allowed if the FROM
clause is
set as well.
pub fn replace_using_sub_query(
query qry: Delete(a),
sub_query sb_qry: Query,
alias als: String,
) -> Delete(a)
Replaces the USING
clause of the Delete
query with a sub-query.
pub fn replace_using_table(
query qry: Delete(a),
table tbl: String,
) -> Delete(a)
Replaces the USING
clause of the Delete
query with a table.
pub fn replace_where(
query qry: Delete(a),
where whr: Where,
) -> Delete(a)
Replaces the Where
in the Delete
query.
pub fn returning(
query qry: Delete(a),
returning rtrn: List(String),
) -> Delete(a)
Specify the columns to return after the Delete
query.
pub fn table(
query qry: Delete(a),
table_name tbl_nm: String,
) -> Delete(a)
Sets the table name of the Delete
query, aka the table where
the rows will be deleted from.
pub fn to_query(delete dlt: Delete(a)) -> WriteQuery(a)
Creates a WriteQuery
from a Delete
query.
pub fn using_sub_query(
query qry: Delete(a),
sub_query sb_qry: Query,
alias als: String,
) -> Delete(a)
Adds a USING
clause to the Delete
query specifing a sub-query.
The sub-query must be aliased.
If the query already has a USING
clause, the new USING
clause
will be appended to the existing one.
The USING
clause is used to specify additional tables that are used
to filter the rows to be deleted.
NOTICE: SQLite does not support USING
.
NOTICE: MariaDB and MySQL may not support sub-queries in the USING
clause.
In such case you may use a sub-query in a WHERE
clause, or use a join
instead.
pub fn using_table(
query qry: Delete(a),
table tbl: String,
) -> Delete(a)
Adds a USING
clause to the Delete
query specifing a table.
If the query already has a USING
clause, the new USING
clause
will be appended to the existing one.
The USING
clause is used to specify additional tables that are used
to filter the rows to be deleted.
NOTICE: SQLite does not support USING
.
NOTICE: For MariaDB and MySQL it is mandatory to specify the table specified
in the FROM
clause in the USING
clause, again - e.g. in raw SQL:
DELETE * FROM a USING a, b, WHERE a.b_id = b.id;
pub fn where(query qry: Delete(a), where whr: Where) -> Delete(a)
Sets an AndWhere
or appends into an existing AndWhere
.
- If the outermost
Where
is anAndWhere
, the newWhere
is appended to the list withinAndWhere
. - If the query does not have a
Where
clause, the givenWhere
is set instead. - If the outermost
Where
is any other kind ofWhere
, this and the current outermostWhere
are wrapped in anAndWhere
.
pub fn xor_where(
query qry: Delete(a),
where whr: Where,
) -> Delete(a)
Sets an XorWhere
or appends into an existing XorWhere
.
- If the outermost
Where
is anXorWhere
, the newWhere
is appended to the list withinXorWhere
. - If the query does not have a
Where
clause, the givenWhere
is set instead. - If the outermost
Where
is any other kind ofWhere
, this and the current outermostWhere
are wrapped in anXorWhere
.
NOTICE: This operator does not exist in Postgres or SQLite, and Cake
generates equivalent SQL using OR
and AND
and NOT
.
This operator exists in MariaDB/MySQL.