dbcli 0.1.0

Convert SQL query results to JSON without struct mapping, supporting MySQL/PostgreSQL/SQLite/Odbc
Documentation
//! Execute arbitrary SQL statements and automatically parse results.
//!
//! This module provides `execute_raw_sql` functions for each supported database driver.
//! Each function accepts a SQL string that may contain one or more statements separated
//! by `;`, executes them, and returns a [`Vec<SqlResult>`] — one entry per statement.
//!
//! - Statements that produce rows (SELECT, SHOW, EXPLAIN, etc.) are automatically
//!   converted to JSON via the existing `to_json` infrastructure, returning a
//!   [`SqlResult::Query`] with `data` and `columns`.
//! - Statements that do not produce rows (INSERT, UPDATE, DELETE, CREATE, DROP, etc.)
//!   return a [`SqlResult::Execute`] with the number of affected rows.
//!
//! # Database-specific Notes
//!
//! - **MySQL**: Multi-statement execution requires the `CLIENT_MULTI_STATEMENTS` flag.
//!   When using `sqlx`, add `?multi_statements=on` to your connection URL or set
//!   `MySqlConnectOptions::multi_statements(true)` before creating the pool.
//! - **PostgreSQL**: Multi-statement support works natively via `raw_sql`.
//! - **SQLite**: The sqlx SQLite driver has limited multi-statement support via `raw_sql`.
//!   Only a subset of scenarios is reliable; prefer sending one statement at a time.

#[cfg(feature = "mysql")]
pub mod mysql;

#[cfg(feature = "postgres")]
pub mod postgres;

#[cfg(feature = "postgres")]
pub mod pg_test;

#[cfg(feature = "sqlite")]
pub mod sqlite;

#[cfg(feature = "odbc")]
pub mod odbc;