Skip to main content
pub struct KineticaJson<T>(pub T);

Values for the Kinetica types SQLx’s own PostgreSQL types cannot read or write over Kinetica’s protocol, or cannot reliably: see their module. A JSON column’s value: anything serde serializes, bound directly as JSON, and read back from the JSON Kinetica sends.

SQLx’s own serde_json::Value and sqlx::types::Json bind as PostgreSQL’s JSONB, whose binary form starts with a version byte, which Kinetica refuses as invalid JSON. This binds the JSON type instead, whose value is the JSON text itself, so it reaches its column in any parameter position. It reads JSON and JSONB columns, and text such as JSON_QUERY’s.

Tuple Fields

0: T

Trait Implementations

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source

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

Performs copy-assignment from source. Read more
Source

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

Formats the value using the given formatter. Read more
Source

impl<‘r, T: DeserializeOwned> Decode<‘r, Postgres> for KineticaJson<T>

Source

fn decode(value: PgValueRef<‘r>) -> Result<Self, BoxDynError>

Decode a new value of this type using a raw value from the database.
Returns the “default value” for a type. Read more
Source

impl<T: Serialize> Encode<’_, Postgres> for KineticaJson<T>

Source

fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, BoxDynError>

Writes the value of self into buf without moving self. Read more

fn encode( self, buf: &mut <DB as Database>::ArgumentBuffer<‘q>, ) ->Result<IsNull, Box<dyn Error + Send + Sync>>
where Self: Sized,

Writes the value of self into buf in the expected format for the database.

fn produces(&self) -> Option<<DB as Database>::TypeInfo>

fn size_hint(&self) -> usize

Source

impl<T: Eq> Eq for KineticaJson<T>

Source

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source

impl<T: Ord> Ord for KineticaJson<T>

Source

fn cmp(&self, other: &KineticaJson<T>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 (const: unstable) · Source

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 (const: unstable) · Source

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source

fn eq(&self, other: &KineticaJson<T>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source

impl<T> Type<Postgres> for KineticaJson<T>

Source

fn type_info() -> PgTypeInfo

Returns the canonical SQL type for this Rust type. Read more
Source

fn compatible(ty: &PgTypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more