Skip to main content
pub struct KineticaArray<T>(pub Vec<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. An array column’s value. Kinetica sends arrays numbered from 0, which SQLx’s own Vec<T> refuses; this reads them, in the binary form a query’s results come in and in the text form sqlx::raw_sql gives, and writes them as the JSON text Kinetica takes. It also reads the JSON text Kinetica sends for an array a function computes, such as ARRAY_APPEND(col, 4).

Use KineticaArray<Option<T>> for an array that may hold nulls. The element types are those of Kinetica’s arrays: i32 (INTEGER[]), i64 (BIGINT[]), u64 (UNSIGNED BIGINT[]), f32 (REAL[]), f64 (DOUBLE[]), bool (BOOLEAN[]) and String (VARCHAR[]).

Tuple Fields

0: Vec<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: KineticaArrayElement> Decode<‘r, Postgres> for KineticaArray<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: KineticaArrayElement> Encode<’_, Postgres> for KineticaArray<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

fn eq(&self, other: &KineticaArray<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 KineticaArray<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