snowflakedb-rs 1.1.6

A lightweight, comprehensive and familiar database driver for the SnowflakeDB written natively in Rust
Documentation
pub mod auth;
pub(crate) mod connection;
pub(crate) mod driver;
pub(crate) mod errors;
pub(crate) mod executor;
pub(crate) mod http;
pub(crate) mod transaction;

pub(crate) use errors::{SnowflakeError, error, this_errors};

pub use connection::{
    SnowflakeConnection, SnowflakeConnectionOpts, SnowflakeConnectionOptsBuilder, SnowflakePool,
};
pub use driver::{
    primitives::{
        cell::{Cell, CellValue, ToCellValue},
        column::{Column, ColumnType},
        row::Row,
    },
    protocols::{JsonDescribeResult, JsonProtocol},
    query::{DescribeResult, Query, QueryResult},
};

pub use transaction::SnowflakeTransaction;

pub struct NoClient;

#[cfg(feature = "reqwest")]
pub type DefaultClient = reqwest::Client;

#[cfg(not(feature = "reqwest"))]
pub type DefaultClient = NoClient;

pub type JsonSnowflakeConnection<C = DefaultClient> = SnowflakeConnection<C, JsonProtocol>;
pub type JsonSnowflakeTransaction<C = DefaultClient> = SnowflakeTransaction<C, JsonProtocol>;
pub type JsonSnowflakePool<C = DefaultClient> = SnowflakePool<C, JsonProtocol>;
pub type JsonQuery<C = DefaultClient> = JQ<C>;
pub type JsonQueryResult<C = DefaultClient> = JQR<C>;

use crate::driver::protocols::{JsonQuery as JQ, JsonQueryResult as JQR};

#[cfg(feature = "arrow")]
pub type ArrowSnowflakeConnection<C = DefaultClient> = SnowflakeConnection<C, ArrowProtocol>;
#[cfg(feature = "arrow")]
pub type ArrowSnowflakeTransaction<C = DefaultClient> = SnowflakeTransaction<C, ArrowProtocol>;
#[cfg(feature = "arrow")]
pub type ArrowSnowflakePool<C = DefaultClient> = SnowflakePool<C, ArrowProtocol>;
#[cfg(feature = "arrow")]
pub type ArrowQuery<C = DefaultClient> = AQ<C>;
#[cfg(feature = "arrow")]
pub type ArrowQueryResult<C = DefaultClient> = AQR<C>;

pub use http::client::SnowflakeHttpClient;

pub use executor::Executor;

#[cfg(feature = "arrow")]
use crate::driver::protocols::{ArrowQuery as AQ, ArrowQueryResult as AQR};

#[cfg(feature = "arrow")]
pub use crate::driver::protocols::{ArrowDescribeResult, ArrowProtocol};

#[cfg(test)]
mod tests {}