#![cfg_attr(docsrs, feature(doc_cfg))]
mod sqlite;
#[macro_use]
mod enum_mode;
pub use musq_macros::*;
mod column;
mod debugfn;
pub mod decode;
pub mod encode;
pub mod error;
mod executor;
mod from_row;
#[macro_use]
mod logger;
pub mod expr;
mod musq;
mod pool;
pub mod query;
mod query_builder;
mod query_result;
mod row;
mod statement_cache;
mod transaction;
mod values;
#[macro_use]
pub mod types;
#[cfg(feature = "vec")]
#[cfg_attr(docsrs, doc(cfg(feature = "vec")))]
pub use crate::types::vec::{VecBit, VecF32, VecInt8};
pub use crate::{
encode::Null,
error::{DecodeError, EncodeError, Error, Result},
executor::Execute,
expr::Expr,
from_row::{AllNull, FromRow},
musq::{AutoVacuum, JournalMode, LockingMode, Musq, Synchronous},
pool::{Pool, PoolConnection, PoolStats},
query::{
Query, query, query_as, query_as_with, query_scalar, query_scalar_with, query_with,
quote_identifier,
},
query_builder::QueryBuilder,
query_result::QueryResult,
row::Row,
sqlite::{
Arguments, Connection, DbStatus, DbStatusKind, Prepared, SqliteDataType, SqliteError,
SqliteRuntimeInfo, Value, WalCheckpoint, WalCheckpointMode,
},
transaction::Transaction,
values::{IntoValuesEntry, Values, ValuesEntry},
};
#[macro_export]
macro_rules! values {
() => { $crate::Result::<$crate::Values>::Ok($crate::Values::new()) };
{ $($key:literal : $value:expr),* $(,)? } => {{
let mut _values = $crate::Values::new();
$( _values.insert($key, $value)?; )*
$crate::Result::<$crate::Values>::Ok(_values)
}};
}