Trait influxdb::Query

source ·
pub trait Query {
    // Required methods
    fn build(&self) -> Result<ValidQuery, Error>;
    fn build_with_opts(&self, use_v2: bool) -> Result<ValidQuery, Error>;
    fn get_type(&self) -> QueryType;
}

Required Methods§

source

fn build(&self) -> Result<ValidQuery, Error>

Builds valid InfluxSQL which can be run against the Database. In case no fields have been specified, it will return an error, as that is invalid InfluxSQL syntax.

Examples
use influxdb::{Query, Timestamp};
use influxdb::InfluxDbWriteable;

let invalid_query = Timestamp::Nanoseconds(0).into_query("measurement").build();
assert!(invalid_query.is_err());

let valid_query = Timestamp::Nanoseconds(0).into_query("measurement").add_field("myfield1", 11).build();
assert!(valid_query.is_ok());
source

fn build_with_opts(&self, use_v2: bool) -> Result<ValidQuery, Error>

Like [build] but with additional support for unsigned integers in the line protocol. Please note, this crate can only interact with InfluxDB 2.0 in compatibility mode and does not natively support InfluxDB 2.0.

Examples
use influxdb::{Query, Timestamp};
use influxdb::InfluxDbWriteable;

let use_v2 = true;

let invalid_query = Timestamp::Nanoseconds(0).into_query("measurement").build_with_opts(use_v2);
assert!(invalid_query.is_err());

let valid_query = Timestamp::Nanoseconds(0).into_query("measurement").add_field("myfield1", 11).build_with_opts(use_v2);
assert!(valid_query.is_ok());
source

fn get_type(&self) -> QueryType

Implementations§

source§

impl dyn Query

source

pub fn raw_read_query<S>(read_query: S) -> ReadQuerywhere S: Into<String>,

👎Deprecated since 0.5.0: Use ReadQuery::new instead

Returns a ReadQuery builder.

Examples
use influxdb::Query;

Query::raw_read_query("SELECT * FROM weather"); // Is of type [`ReadQuery`](crate::ReadQuery)

Implementations on Foreign Types§

source§

impl<Q: Query> Query for &Q

source§

fn build(&self) -> Result<ValidQuery, Error>

source§

fn build_with_opts(&self, use_v2: bool) -> Result<ValidQuery, Error>

source§

fn get_type(&self) -> QueryType

source§

impl<Q: Query> Query for Box<Q>

source§

fn build(&self) -> Result<ValidQuery, Error>

source§

fn build_with_opts(&self, use_v2: bool) -> Result<ValidQuery, Error>

source§

fn get_type(&self) -> QueryType

source§

impl Query for Vec<WriteQuery>

source§

fn build(&self) -> Result<ValidQuery, Error>

source§

fn build_with_opts(&self, use_v2: bool) -> Result<ValidQuery, Error>

source§

fn get_type(&self) -> QueryType

Implementors§