discord_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(doc_markdown)]
5#![allow(unused_imports)] // TODO: remove
6#![allow(dead_code)] // TODO: remove
7// `error_chain!` can recurse deeply
8#![recursion_limit = "1024"]
9
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, CustomPayload};
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::data_type::{ConstDataType, DataType};
22// pub use cassandra::write_type::*;
23pub use crate::cassandra::field::Field;
24pub use crate::cassandra::inet::Inet;
25// pub use cassandra::util::*;
26// pub use cassandra::metrics::*;
27pub use crate::cassandra::iterator::{
28    AggregateIterator, ColumnIterator, FieldIterator, FunctionIterator, KeyspaceIterator,
29    MapIterator, MaterializedViewIterator, SetIterator, TableIterator, UserTypeIterator,
30};
31pub use crate::cassandra::log::{set_level, set_logger, LogLevel};
32pub use crate::cassandra::policy::retry::RetryPolicy;
33pub use crate::cassandra::prepared::PreparedStatement;
34pub use crate::cassandra::result::CassResult;
35pub use crate::cassandra::row::AsRustType;
36pub use crate::cassandra::row::Row;
37pub use crate::cassandra::schema::aggregate_meta::AggregateMeta;
38pub use crate::cassandra::schema::column_meta::ColumnMeta;
39pub use crate::cassandra::schema::function_meta::FunctionMeta;
40pub use crate::cassandra::schema::keyspace_meta::KeyspaceMeta;
41pub use crate::cassandra::schema::materialized_view_meta::MaterializedViewMeta;
42pub use crate::cassandra::schema::schema_meta::SchemaMeta;
43pub use crate::cassandra::schema::table_meta::TableMeta;
44pub use crate::cassandra::session::{session_scope, Session, SessionScope};
45pub use crate::cassandra::ssl::{Ssl, SslVerifyFlag};
46pub use crate::cassandra::statement::BindRustType;
47pub use crate::cassandra::statement::Statement;
48// pub use cassandra::custom_payload::CustomPayload;
49pub use crate::cassandra::time::TimestampGen;
50pub use crate::cassandra::tuple::Tuple;
51pub use crate::cassandra::user_type::UserType;
52pub use crate::cassandra::uuid::{Uuid, UuidGen};
53pub use crate::cassandra::value::{Value, ValueType};
54
55pub use crate::cassandra::error::*;
56
57// #[macro_use]
58mod cassandra {
59    #[macro_use]
60    pub mod util;
61    pub mod batch;
62    pub mod cluster;
63    pub mod collection;
64    pub mod consistency;
65    pub mod custom_payload;
66    pub mod data_type;
67    pub mod error;
68    pub mod field;
69    pub mod future;
70    pub mod inet;
71    pub mod iterator;
72    pub mod log;
73    pub mod metrics;
74    pub mod policy;
75    pub mod prepared;
76    pub mod result;
77    pub mod row;
78    pub mod schema;
79    pub mod session;
80    pub mod ssl;
81    pub mod statement;
82    pub mod time;
83    pub mod tuple;
84    pub mod user_type;
85    pub mod uuid;
86    pub mod value;
87    pub mod write_type;
88}
89
90// #[phase(plugin)] extern crate bindgen;
91// #[allow(dead_code, uppercase_variables, non_camel_case_types)]
92// mod mysql_bindings {
93//    bindgen!("/usr/include/mysql/mysql.h", match="mysql.h", link="mysql");
94// }