cake/query/select

A DSL to build SELECT queries.

HAVING allows to specify constraints much like WHERE, but filters the results after GROUP BY is applied instead of before

Types

pub type Direction {
  Asc
  Desc
}

Constructors

  • Asc
  • Desc

Functions

pub fn alias(
  value vl: SelectValue,
  alias als: String,
) -> SelectValue
pub fn all(query qry: Select) -> Select
pub fn bool(value vl: Bool) -> SelectValue
pub fn col(name nm: String) -> SelectValue
pub fn comment(
  query qry: Select,
  comment cmmnt: String,
) -> Select
pub fn distinct(query qry: Select) -> Select
pub fn epilog(query qry: Select, epilog eplg: String) -> Select
pub fn float(value vl: Float) -> SelectValue
pub fn fragment(fragment frgmt: Fragment) -> SelectValue
pub fn from(query qry: Select, from frm: From) -> Select
pub fn get_comment(query qry: Select) -> Comment
pub fn get_epilog(query qry: Select) -> Epilog
pub fn get_from(query qry: Select) -> From
pub fn get_having(query qry: Select) -> Where

See having on details why returns a where

pub fn get_joins(query qry: Select) -> Joins
pub fn get_kind(
  query qry: Select,
  kind knd: SelectKind,
) -> Select
pub fn get_limit(query qry: Select) -> Limit
pub fn get_offset(query qry: Select) -> Offset
pub fn get_select(query qry: Select) -> Selects
pub fn get_where(query qry: Select) -> Where
pub fn group_by(
  query qry: Select,
  group_by grpb: String,
) -> Select
pub fn group_by_replace(
  query qry: Select,
  group_by grpb: String,
) -> Select
pub fn group_bys_replace(
  query qry: Select,
  group_bys grpbs: List(String),
) -> Select
pub fn groups_by(
  query qry: Select,
  group_bys grpbs: List(String),
) -> Select
pub fn having(query qry: Select, having whr: Where) -> Select

HAVING allows to specify constraints much like WHERE, but filters the results after GROUP BY is applied instead of before.

Because it uses the same semantics as WHERE, it takes a Where

pub fn having_replace(
  query qry: Select,
  having whr: Where,
) -> Select

See having on details why this takes a where

pub fn int(value vl: Int) -> SelectValue
pub fn join(query qry: Select, join jn: Join) -> Select
pub fn join_replace(query qry: Select, join jn: Join) -> Select
pub fn joins(query qry: Select, joins jns: List(Join)) -> Select
pub fn joins_replace(
  query qry: Select,
  joins jns: List(Join),
) -> Select
pub fn limit(query qry: Select, limit lmt: Int) -> Select
pub fn new() -> Select
pub fn new_from(from frm: From) -> Select
pub fn no_comment(query qry: Select) -> Select
pub fn no_epilog(query qry: Select) -> Select
pub fn no_joins(query qry: Select) -> Select
pub fn offset(query qry: Select, offst offst: Int) -> Select
pub fn or_having(query qry: Select, having whr: Where) -> Select

See having on details why this takes a where

pub fn or_where(query qry: Select, where whr: Where) -> Select
pub fn order(
  query qry: Select,
  by ordb: String,
  direction dir: Direction,
) -> Select
pub fn order_asc(query qry: Select, by ordb: String) -> Select
pub fn order_asc_nulls_first(
  query qry: Select,
  by ordb: String,
) -> Select
pub fn order_asc_nulls_first_replace(
  query qry: Select,
  by ordb: String,
) -> Select
pub fn order_asc_replace(
  query qry: Select,
  by ordb: String,
) -> Select
pub fn order_desc(query qry: Select, by ordb: String) -> Select
pub fn order_desc_nulls_first(
  query qry: Select,
  by ordb: String,
) -> Select
pub fn order_desc_nulls_first_replace(
  query qry: Select,
  by ordb: String,
) -> Select
pub fn order_desc_replace(
  query qry: Select,
  by ordb: String,
) -> Select
pub fn order_replace(
  query qry: Select,
  by ordb: String,
  direction dir: Direction,
) -> Select
pub fn selects(
  query qry: Select,
  select_values sv: List(SelectValue),
) -> Select
pub fn selects_replace(
  query qry: Select,
  select_values sv: List(SelectValue),
) -> Select
pub fn string(value vl: String) -> SelectValue
pub fn to_query(query qry: Select) -> Query
pub fn where(query qry: Select, where whr: Where) -> Select
pub fn where_replace(
  query qry: Select,
  where whr: Where,
) -> Select
pub fn xor_having(query qry: Select, having whr: Where) -> Select

See having on details why this takes a where

pub fn xor_where(query qry: Select, where whr: Where) -> Select
Search Document