cassandra_cpp/
lib.rs

1//! This is a wrapper around the DataStax C++ driver for Cassandra. It aims to be 100% safe with minimal overhead added
2#![deny(missing_docs)]
3#![allow(unknown_lints)]
4#![allow(clippy::doc_markdown)]
5#![allow(dead_code)] // TODO: remove
6// `error_chain!` can recurse deeply
7#![recursion_limit = "1024"]
8
9#[cfg(feature = "slog")]
10#[macro_use]
11extern crate slog;
12#[macro_use]
13extern crate error_chain;
14
15use cassandra_cpp_sys as cassandra_sys;
16
17pub use crate::cassandra::batch::{Batch, BatchType};
18pub use crate::cassandra::cluster::{Cluster, CqlProtocol};
19pub use crate::cassandra::collection::{CassCollection, List, Map, Set};
20pub use crate::cassandra::consistency::Consistency;
21pub use crate::cassandra::custom_payload::CustomPayload;
22pub use crate::cassandra::data_type::DataType;
23// pub use cassandra::write_type::*;
24pub use crate::cassandra::field::Field;
25pub use crate::cassandra::inet::Inet;
26pub use crate::cassandra::iterator::LendingIterator;
27// pub use cassandra::util::*;
28// pub use cassandra::metrics::*;
29pub use crate::cassandra::iterator::{
30    AggregateIterator, ColumnIterator, FieldIterator, FunctionIterator, KeyspaceIterator,
31    MapIterator, SetIterator, TableIterator, UserTypeIterator,
32};
33#[cfg(feature = "log")]
34pub use crate::cassandra::log::set_log_logger;
35#[cfg(feature = "slog")]
36#[allow(deprecated)]
37pub use crate::cassandra::log::set_logger;
38#[cfg(feature = "slog")]
39pub use crate::cassandra::log::set_slog_logger;
40pub use crate::cassandra::log::{set_level, LogLevel};
41pub use crate::cassandra::policy::retry::RetryPolicy;
42pub use crate::cassandra::prepared::PreparedStatement;
43pub use crate::cassandra::result::CassResult;
44pub use crate::cassandra::row::AsRustType;
45pub use crate::cassandra::row::Row;
46pub use crate::cassandra::schema::aggregate_meta::AggregateMeta;
47pub use crate::cassandra::schema::column_meta::ColumnMeta;
48pub use crate::cassandra::schema::function_meta::FunctionMeta;
49pub use crate::cassandra::schema::keyspace_meta::KeyspaceMeta;
50pub use crate::cassandra::schema::schema_meta::SchemaMeta;
51pub use crate::cassandra::schema::table_meta::TableMeta;
52pub use crate::cassandra::session::Session;
53#[cfg(feature = "early_access_min_tls_version")]
54pub use crate::cassandra::ssl::SslTlsVersion;
55pub use crate::cassandra::ssl::{Ssl, SslVerifyFlag};
56pub use crate::cassandra::statement::BindRustType;
57pub use crate::cassandra::statement::Statement;
58// pub use cassandra::custom_payload::CustomPayload;
59pub use crate::cassandra::time::TimestampGen;
60pub use crate::cassandra::tuple::Tuple;
61pub use crate::cassandra::user_type::UserType;
62pub use crate::cassandra::uuid::{Uuid, UuidGen};
63pub use crate::cassandra::value::{Value, ValueType};
64
65pub use crate::cassandra::error::*;
66
67// #[macro_use]
68mod cassandra {
69    #[macro_use]
70    pub mod util;
71    pub mod batch;
72    pub mod cluster;
73    pub mod collection;
74    pub mod consistency;
75    pub mod custom_payload;
76    pub mod data_type;
77    pub mod error;
78    pub mod field;
79    pub mod future;
80    pub mod inet;
81    pub mod iterator;
82    pub mod log;
83    pub mod metrics;
84    pub mod policy;
85    pub mod prepared;
86    pub mod result;
87    pub mod row;
88    pub mod schema;
89    pub mod session;
90    pub mod ssl;
91    pub mod statement;
92    pub mod time;
93    pub mod tuple;
94    pub mod user_type;
95    pub mod uuid;
96    pub mod value;
97    pub mod write_type;
98}
99
100// #[phase(plugin)] extern crate bindgen;
101// #[allow(dead_code, uppercase_variables, non_camel_case_types)]
102// mod mysql_bindings {
103//    bindgen!("/usr/include/mysql/mysql.h", match="mysql.h", link="mysql");
104// }