pub mod binary;
pub mod catalog;
pub mod completion;
pub mod config;
pub mod connection;
pub(crate) mod dedicated;
pub mod export;
pub mod health;
pub mod import;
pub mod mysql;
pub mod pinned;
pub mod plan;
pub mod postgres;
pub mod query;
pub mod query_log;
pub mod runtime;
pub mod schema;
pub mod script;
pub mod sql;
pub mod sqlite;
pub mod statement;
pub mod store;
pub(crate) mod tunnel;
#[cfg(test)]
pub(crate) mod tests;
pub use catalog::{Catalog, CatalogEntry, CatalogKind, Query};
pub(crate) use config::file_name;
pub use config::{
ConnectionConfig, Engine, SafetyMode, SshAuth, SshConfig, SslConfig, SslMode, TagColor,
is_risky_auto_apply,
};
pub(crate) use connection::pool_options;
pub use connection::{
Connection, Credentials, DatabaseObject, ObjectKind, QueryDigest, RowKey, StoredKind,
StoredObject,
};
pub use import::{ImportProgress, ImportRequest, ImportSummary, OnError};
pub use pinned::{PinnedConnection, TxnState};
pub use plan::{Explained, Plan, PlanNode};
pub use query_log::{LoggedQuery, QueryOutcome, QuerySource};
pub use schema::{
ColumnDef, ForeignKeyDef, IndexDef, RebuildSource, ReferentialAction, TableSchema,
};
pub use script::{
Blocker, Decision, OnFailure, ScriptFailure, ScriptMode, ScriptOutcome, ScriptRun, Step,
transaction_blocker,
};
pub use sql::quote_identifier;
pub(crate) use sql::{keyword_literal, placeholder, quote_literal, text_type, typed_placeholder};
pub use sqlite::Maintenance;
macro_rules! decode {
($row:expr, $index:expr, $ty:ty) => {
$row.try_get::<$ty, _>($index)
.ok()
.map(|value| value.to_string())
};
}
pub(crate) use decode;