Struct diesel::pg::types::sql_types::Jsonb [] [src]

pub struct 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 and jsonb. They accept almost identical sets of values as input. The major practical difference is one of efficiency. The json data type stores an exact copy of the input text, which processing functions must reparse on each execution; while jsonb 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<'expr> AsExpression<Jsonb> for &'expr Value
[src]

The expression being returned

[src]

Perform the conversion

impl<'expr2, 'expr> AsExpression<Jsonb> for &'expr2 &'expr Value
[src]

The expression being returned

[src]

Perform the conversion

impl AsExpression<Jsonb> for Value
[src]

The expression being returned

[src]

Perform the conversion

impl FromSql<Jsonb, Pg> for Value
[src]

[src]

See the trait documentation.

impl ToSql<Jsonb, Pg> for Value
[src]

[src]

See the trait documentation.

impl QueryId for Jsonb
[src]

A type which uniquely represents Self in a SQL query. Read more

HAS_STATIC_QUERY_ID: bool = true

Can the SQL generated by Self be uniquely identified by its type? Read more

[src]

Returns the type id of Self::QueryId if Self::HAS_STATIC_QUERY_ID. Returns None otherwise. Read more

impl NotNull for Jsonb
[src]

impl SingleValue for Jsonb
[src]

impl HasSqlType<Jsonb> for Pg
[src]

[src]

Fetch the metadata for the given type Read more

[src]

Fetch the metadata for a tuple representing an entire row Read more

impl Debug for Jsonb
[src]

[src]

Formats the value using the given formatter. Read more

impl Clone for Jsonb
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl Copy for Jsonb
[src]

impl Default for Jsonb
[src]

[src]

Returns the "default value" for a type. Read more

Auto Trait Implementations

impl Send for Jsonb

impl Sync for Jsonb