1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
#![allow(clippy::fn_address_comparisons)]
//! # MultiSQL
//!
//! `multisql` is a highly modular SQL database engine library written in Rust.
//! It enables flexible querying via Rust interfaces.
//!
//! ## Examples
//!
//! ```
//! use multisql::{SledStorage, Storage, Glue};
//! let storage = SledStorage::new("data/example_location/lib_example")
//! .map(Storage::new_sled)
//! .expect("Storage Creation Failed");
//! let mut glue = Glue::new(String::from("main"), storage);
//!
//! glue.execute_many("
//! DROP TABLE IF EXISTS test;
//! CREATE TABLE test (id INTEGER);
//! INSERT INTO test VALUES (1),(2);
//! SELECT * FROM test WHERE id > 1;
//! ");
//! ```
//!
//! ## See also
//! - [Glue] -- Primary interface
//! - [Storage] -- Needed to build an interface
//! - [SledStorage] -- Most common type of storage/backend
//! - [Value] -- Value wrapper
pub use sqlparser as parser;
mod data;
mod executor;
mod glue;
mod parse_sql;
mod result;
mod storages;
mod store;
mod utils;
pub use {data::*, executor::*, glue::*, parse_sql::*, result::*, storages::*, store::*};
pub(crate) use utils::macros;