sea_query::extension::postgres

Struct PgFunc

source
pub struct PgFunc;
Available on crate feature backend-postgres only.
Expand description

Function call helper.

Implementationsยง

sourceยง

impl PgFunc

source

pub fn to_tsquery<T>(expr: T, regconfig: Option<u32>) -> FunctionCall
where T: Into<SimpleExpr>,

Call TO_TSQUERY function. Postgres only.

The parameter regconfig represents the OID of the text search configuration. If the value is None the argument is omitted from the query, and hence the database default used.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select()
    .expr(PgFunc::to_tsquery("a & b", None))
    .to_owned();

assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT TO_TSQUERY('a & b')"#
);
source

pub fn to_tsvector<T>(expr: T, regconfig: Option<u32>) -> FunctionCall
where T: Into<SimpleExpr>,

Call TO_TSVECTOR function. Postgres only.

The parameter regconfig represents the OID of the text search configuration. If the value is None the argument is omitted from the query, and hence the database default used.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select()
    .expr(PgFunc::to_tsvector("a b", None))
    .to_owned();

assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT TO_TSVECTOR('a b')"#
);
source

pub fn phraseto_tsquery<T>(expr: T, regconfig: Option<u32>) -> FunctionCall
where T: Into<SimpleExpr>,

Call PHRASE_TO_TSQUERY function. Postgres only.

The parameter regconfig represents the OID of the text search configuration. If the value is None the argument is omitted from the query, and hence the database default used.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select()
    .expr(PgFunc::phraseto_tsquery("a b", None))
    .to_owned();

assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT PHRASETO_TSQUERY('a b')"#
);
source

pub fn plainto_tsquery<T>(expr: T, regconfig: Option<u32>) -> FunctionCall
where T: Into<SimpleExpr>,

Call PLAIN_TO_TSQUERY function. Postgres only.

The parameter regconfig represents the OID of the text search configuration. If the value is None the argument is omitted from the query, and hence the database default used.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select()
    .expr(PgFunc::plainto_tsquery("a b", None))
    .to_owned();

assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT PLAINTO_TSQUERY('a b')"#
);
source

pub fn websearch_to_tsquery<T>(expr: T, regconfig: Option<u32>) -> FunctionCall
where T: Into<SimpleExpr>,

Call WEBSEARCH_TO_TSQUERY function. Postgres only.

The parameter regconfig represents the OID of the text search configuration. If the value is None the argument is omitted from the query, and hence the database default used.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select()
    .expr(PgFunc::websearch_to_tsquery("a b", None))
    .to_owned();

assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT WEBSEARCH_TO_TSQUERY('a b')"#
);
source

pub fn ts_rank<T>(vector: T, query: T) -> FunctionCall
where T: Into<SimpleExpr>,

Call TS_RANK function. Postgres only.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select()
    .expr(PgFunc::ts_rank("a b", "a&b"))
    .to_owned();

assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT TS_RANK('a b', 'a&b')"#
);
source

pub fn ts_rank_cd<T>(vector: T, query: T) -> FunctionCall
where T: Into<SimpleExpr>,

Call TS_RANK_CD function. Postgres only.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select()
    .expr(PgFunc::ts_rank_cd("a b", "a&b"))
    .to_owned();

assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT TS_RANK_CD('a b', 'a&b')"#
);
source

pub fn any<T>(expr: T) -> FunctionCall
where T: Into<SimpleExpr>,

Call ANY function. Postgres only.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select().expr(PgFunc::any(vec![0, 1])).to_owned();

assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT ANY(ARRAY [0,1])"#
);
source

pub fn some<T>(expr: T) -> FunctionCall
where T: Into<SimpleExpr>,

Call SOME function. Postgres only.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select().expr(PgFunc::some(vec![0, 1])).to_owned();

assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT SOME(ARRAY [0,1])"#
);
source

pub fn all<T>(expr: T) -> FunctionCall
where T: Into<SimpleExpr>,

Call ALL function. Postgres only.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select().expr(PgFunc::all(vec![0, 1])).to_owned();

assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT ALL(ARRAY [0,1])"#
);
source

pub fn starts_with<T, P>(text: T, prefix: P) -> FunctionCall
where T: Into<SimpleExpr>, P: Into<SimpleExpr>,

Call STARTS_WITH function. Postgres only.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select()
    .expr(PgFunc::starts_with("123", "1"))
    .to_owned();

assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT STARTS_WITH('123', '1')"#
);
source

pub fn gen_random_uuid() -> FunctionCall

Call GEN_RANDOM_UUID function. Postgres only.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select().expr(PgFunc::gen_random_uuid()).to_owned();

assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT GEN_RANDOM_UUID()"#
);
source

pub fn json_build_object<T>(pairs: Vec<(T, T)>) -> FunctionCall
where T: Into<SimpleExpr>,

Call the JSON_BUILD_OBJECT function. Postgres only.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select()
    .expr(PgFunc::json_build_object(vec![
        (Expr::val("a"), Expr::val(1)),
        (Expr::val("b"), Expr::val("2")),
    ]))
    .to_owned();

assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT JSON_BUILD_OBJECT('a', 1, 'b', '2')"#
);
source

pub fn json_agg<T>(expr: T) -> FunctionCall
where T: Into<SimpleExpr>,

Call the JSON_AGG function. Postgres only.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select()
    .from(Char::Table)
    .expr(PgFunc::json_agg(Expr::col(Char::SizeW)))
    .to_owned();

assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT JSON_AGG("size_w") FROM "character""#
);

Trait Implementationsยง

sourceยง

impl Clone for PgFunc

sourceยง

fn clone(&self) -> PgFunc

Returns a copy of the value. Read more
1.0.0 ยท sourceยง

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
sourceยง

impl Debug for PgFunc

sourceยง

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementationsยง

Blanket Implementationsยง

sourceยง

impl<T> Any for T
where T: 'static + ?Sized,

sourceยง

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
sourceยง

impl<T> Borrow<T> for T
where T: ?Sized,

sourceยง

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
sourceยง

impl<T> BorrowMut<T> for T
where T: ?Sized,

sourceยง

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
sourceยง

impl<T> CloneToUninit for T
where T: Clone,

sourceยง

unsafe fn clone_to_uninit(&self, dst: *mut T)

๐Ÿ”ฌThis is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
sourceยง

impl<T> From<T> for T

sourceยง

fn from(t: T) -> T

Returns the argument unchanged.

sourceยง

impl<T, U> Into<U> for T
where U: From<T>,

sourceยง

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

sourceยง

impl<T> ToOwned for T
where T: Clone,

sourceยง

type Owned = T

The resulting type after obtaining ownership.
sourceยง

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
sourceยง

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
sourceยง

impl<T, U> TryFrom<U> for T
where U: Into<T>,

sourceยง

type Error = Infallible

The type returned in the event of a conversion error.
sourceยง

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
sourceยง

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

sourceยง

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
sourceยง

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.