[−][src]Struct diesel::pg::types::sql_types::Jsonb
The jsonb
SQL type. This type can only be used with feature = "serde_json"
jsonb
offers several advantages over regular JSON:
There are two JSON data types:
json
andjsonb
. They accept almost identical sets of values as input. The major practical difference is one of efficiency. Thejson
data type stores an exact copy of the input text, which processing functions must reparse on each execution; whilejsonb
data is stored in a decomposed binary format that makes it slightly slower to input due to added conversion overhead, but significantly faster to process, since no reparsing is needed.jsonb
also supports indexing, which can be a significant advantage....In general, most applications should prefer to store JSON data as
jsonb
, unless there are quite specialized needs, such as legacy assumptions about ordering of object keys.
ToSql
impls
FromSql
impls
Examples
extern crate serde_json; table! { contacts { id -> Integer, name -> VarChar, address -> Jsonb, } } let santas_address: serde_json::Value = serde_json::from_str(r#"{ "street": "Article Circle Expressway 1", "city": "North Pole", "postcode": "99705", "state": "Alaska" }"#).unwrap(); let inserted_address = insert_into(contacts) .values((name.eq("Claus"), address.eq(&santas_address))) .returning(address) .get_result(&connection); assert_eq!(Ok(santas_address), inserted_address);
Trait Implementations
impl FromSql<Jsonb, Pg> for Value
[src]
impl<'expr> AsExpression<Jsonb> for &'expr Value
[src]
type Expression = Bound<Jsonb, Self>
The expression being returned
fn as_expression(self) -> Self::Expression
[src]
impl<'expr2, 'expr> AsExpression<Jsonb> for &'expr2 &'expr Value
[src]
type Expression = Bound<Jsonb, Self>
The expression being returned
fn as_expression(self) -> Self::Expression
[src]
impl AsExpression<Jsonb> for Value
[src]
type Expression = Bound<Jsonb, Self>
The expression being returned
fn as_expression(self) -> Self::Expression
[src]
impl QueryId for Jsonb
[src]
type QueryId = Jsonb
A type which uniquely represents Self
in a SQL query. Read more
const HAS_STATIC_QUERY_ID: bool
[src]
fn query_id() -> Option<TypeId>
[src]
impl ToSql<Jsonb, Pg> for Value
[src]
impl HasSqlType<Jsonb> for Pg
[src]
fn metadata(_: &PgMetadataLookup) -> PgTypeMetadata
[src]
impl NotNull for Jsonb
[src]
impl SingleValue for Jsonb
[src]
impl Clone for Jsonb
[src]
impl Copy for Jsonb
[src]
impl Default for Jsonb
[src]
impl Debug for Jsonb
[src]
Auto Trait Implementations
impl Send for Jsonb
impl Sync for Jsonb
impl Unpin for Jsonb
impl UnwindSafe for Jsonb
impl RefUnwindSafe for Jsonb
Blanket Implementations
impl<T> IntoSql for T
[src]
fn into_sql<T>(self) -> AsExprOf<Self, T> where
Self: AsExpression<T> + Sized,
[src]
Self: AsExpression<T> + Sized,
fn as_sql<'a, T>(&'a self) -> AsExprOf<&'a Self, T> where
&'a Self: AsExpression<T>,
[src]
&'a Self: AsExpression<T>,
impl<T> IntoNullable for T where
T: NotNull,
[src]
T: NotNull,
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,