pub trait JsonExprExt<'a>: Expr<'a, PostgresValue<'a>> + Sized {
// Provided methods
fn json_get(
self,
key: &'a str,
) -> SQLExpr<'a, PostgresValue<'a>, Json, Null, Scalar> { ... }
fn json_get_idx(
self,
index: i32,
) -> SQLExpr<'a, PostgresValue<'a>, Json, Null, Scalar> { ... }
fn json_get_text(
self,
key: &'a str,
) -> SQLExpr<'a, PostgresValue<'a>, Text, Null, Scalar> { ... }
fn json_get_text_idx(
self,
index: i32,
) -> SQLExpr<'a, PostgresValue<'a>, Text, Null, Scalar> { ... }
fn json_get_path(
self,
path: &'a str,
) -> SQLExpr<'a, PostgresValue<'a>, Json, Null, Scalar> { ... }
fn json_get_path_text(
self,
path: &'a str,
) -> SQLExpr<'a, PostgresValue<'a>, Text, Null, Scalar> { ... }
fn jsonb_contains<R>(
self,
other: R,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>
where R: ToSQL<'a, PostgresValue<'a>> { ... }
fn jsonb_contained<R>(
self,
other: R,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>
where R: ToSQL<'a, PostgresValue<'a>> { ... }
fn jsonb_exists_key(
self,
key: &'a str,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar> { ... }
}Expand description
Extension trait providing method-based JSON operators for PostgreSQL expressions.
Provided Methods§
Sourcefn json_get(
self,
key: &'a str,
) -> SQLExpr<'a, PostgresValue<'a>, Json, Null, Scalar>
fn json_get( self, key: &'a str, ) -> SQLExpr<'a, PostgresValue<'a>, Json, Null, Scalar>
Get JSON object field by key (-> operator), returns JSON.
Sourcefn json_get_idx(
self,
index: i32,
) -> SQLExpr<'a, PostgresValue<'a>, Json, Null, Scalar>
fn json_get_idx( self, index: i32, ) -> SQLExpr<'a, PostgresValue<'a>, Json, Null, Scalar>
Get JSON array element by index (-> operator), returns JSON.
Sourcefn json_get_text(
self,
key: &'a str,
) -> SQLExpr<'a, PostgresValue<'a>, Text, Null, Scalar>
fn json_get_text( self, key: &'a str, ) -> SQLExpr<'a, PostgresValue<'a>, Text, Null, Scalar>
Get JSON object field as text (->> operator).
Sourcefn json_get_text_idx(
self,
index: i32,
) -> SQLExpr<'a, PostgresValue<'a>, Text, Null, Scalar>
fn json_get_text_idx( self, index: i32, ) -> SQLExpr<'a, PostgresValue<'a>, Text, Null, Scalar>
Get JSON array element as text (->> operator).
Sourcefn json_get_path(
self,
path: &'a str,
) -> SQLExpr<'a, PostgresValue<'a>, Json, Null, Scalar>
fn json_get_path( self, path: &'a str, ) -> SQLExpr<'a, PostgresValue<'a>, Json, Null, Scalar>
Get JSON object at path (#> operator), returns JSON.
Sourcefn json_get_path_text(
self,
path: &'a str,
) -> SQLExpr<'a, PostgresValue<'a>, Text, Null, Scalar>
fn json_get_path_text( self, path: &'a str, ) -> SQLExpr<'a, PostgresValue<'a>, Text, Null, Scalar>
Get JSON object at path as text (#>> operator).
Sourcefn jsonb_contains<R>(
self,
other: R,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>where
R: ToSQL<'a, PostgresValue<'a>>,
fn jsonb_contains<R>(
self,
other: R,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>where
R: ToSQL<'a, PostgresValue<'a>>,
JSONB contains (@> operator).
Sourcefn jsonb_contained<R>(
self,
other: R,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>where
R: ToSQL<'a, PostgresValue<'a>>,
fn jsonb_contained<R>(
self,
other: R,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>where
R: ToSQL<'a, PostgresValue<'a>>,
JSONB is contained by (<@ operator).
Sourcefn jsonb_exists_key(
self,
key: &'a str,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>
fn jsonb_exists_key( self, key: &'a str, ) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>
JSONB key exists (? operator).
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementors§
impl<'a, E: Expr<'a, PostgresValue<'a>>> JsonExprExt<'a> for E
Blanket implementation for all PostgreSQL Expr types.