pub struct TsFilterOptions { /* private fields */ }
Expand description

Let’s you build redis time series filter query options via a builder pattern. Filters can be used in different commands like TS.MGET, TS.MRANGE and TS.QUERYINDEX.

Implementations§

source§

impl TsFilterOptions

TsFilterOptions allows you to build up your redis time series filter query. It supports default and a builder pattern so you can use it the following way:

use redis_ts::TsFilterOptions;

let filters = TsFilterOptions::default()
    .with_labels(true)
    .equals("label_1", "value_1")
    .not_equals("label_2", "hello")
    .in_set("label_3", vec!["a", "b", "c"])
    .not_in_set("label_3", vec!["d", "e"])
    .has_label("some_other")
    .not_has_label("unwanted");
source

pub fn with_labels(self, value: bool) -> Self

Will add the WITHLABELS flag to the filter query. The query response will have label information attached.

source

pub fn equals<L: Display + ToRedisArgs, V: Display + ToRedisArgs>( self, name: L, value: V ) -> Self

Select time series where the given label contains the the given value.

source

pub fn not_equals<L: Display + ToRedisArgs, V: Display + ToRedisArgs>( self, name: L, value: V ) -> Self

Select time series where given label does not contain the given value.

source

pub fn in_set<L: Display + ToRedisArgs, V: Display + ToRedisArgs>( self, name: L, values: Vec<V> ) -> Self

Select time series where given label contains any of the given values.

source

pub fn not_in_set<L: Display + ToRedisArgs, V: Display + ToRedisArgs>( self, name: L, values: Vec<V> ) -> Self

Select time series where given label does not contain any of the given values.

source

pub fn has_label<L: Display + ToRedisArgs>(self, name: L) -> Self

Select all time series that have the given label.

source

pub fn not_has_label<L: Display + ToRedisArgs>(self, name: L) -> Self

Select all time series that do not have the given label.

source

pub fn get_filters(self) -> Vec<TsFilter>

Trait Implementations§

source§

impl Clone for TsFilterOptions

source§

fn clone(&self) -> TsFilterOptions

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for TsFilterOptions

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for TsFilterOptions

source§

fn default() -> TsFilterOptions

Returns the “default value” for a type. Read more
source§

impl ToRedisArgs for TsFilterOptions

source§

fn write_redis_args<W>(&self, out: &mut W)
where W: ?Sized + RedisWrite,

This writes the value into a vector of bytes. Each item is a single argument. Most items generate a single item. Read more
source§

fn to_redis_args(&self) -> Vec<Vec<u8>>

This converts the value into a vector of bytes. Each item is a single argument. Most items generate a vector of a single item. Read more
source§

fn describe_numeric_behavior(&self) -> NumericBehavior

Returns an information about the contained value with regards to it’s numeric behavior in a redis context. This is used in some high level concepts to switch between different implementations of redis functions (for instance INCR vs INCRBYFLOAT).
source§

fn is_single_arg(&self) -> bool

Returns an indiciation if the value contained is exactly one argument. It returns false if it’s zero or more than one. This is used in some high level functions to intelligently switch between GET and MGET variants.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more