sqlx_core_oldapi/sqlite/
mod.rs1#![allow(unsafe_code)]
7
8pub use arguments::{SqliteArgumentValue, SqliteArguments};
9pub use column::SqliteColumn;
10pub use connection::function::{Function, SqliteFunctionCtx};
11pub use connection::{LockedSqliteHandle, SqliteConnection};
12pub use database::Sqlite;
13pub use error::SqliteError;
14pub use options::{
15 SqliteAutoVacuum, SqliteConnectOptions, SqliteJournalMode, SqliteLockingMode, SqliteSynchronous,
16};
17pub use query_result::SqliteQueryResult;
18pub use row::SqliteRow;
19pub use statement::SqliteStatement;
20use std::sync::atomic::AtomicBool;
21pub use transaction::SqliteTransactionManager;
22pub use type_info::SqliteTypeInfo;
23pub use value::{SqliteValue, SqliteValueRef};
24
25use crate::describe::Describe;
26use crate::error::Error;
27use crate::executor::Executor;
28use crate::sqlite::connection::establish::EstablishParams;
29
30mod arguments;
31mod column;
32mod connection;
33mod database;
34mod error;
35mod options;
36mod query_result;
37mod row;
38mod statement;
39mod transaction;
40mod type_info;
41pub mod types;
42mod value;
43
44#[cfg(feature = "migrate")]
45mod migrate;
46
47#[cfg(feature = "migrate")]
48mod testing;
49
50pub type SqlitePool = crate::pool::Pool<Sqlite>;
52
53pub type SqlitePoolOptions = crate::pool::PoolOptions<Sqlite>;
55
56pub trait SqliteExecutor<'c>: Executor<'c, Database = Sqlite> {}
58impl<'c, T: Executor<'c, Database = Sqlite>> SqliteExecutor<'c> for T {}
59
60impl_into_arguments_for_arguments!(SqliteArguments<'q>);
62impl_executor_for_pool_connection!(Sqlite, SqliteConnection, SqliteRow);
63impl_executor_for_transaction!(Sqlite, SqliteRow);
64impl_column_index_for_row!(SqliteRow);
65impl_column_index_for_statement!(SqliteStatement);
66impl_acquire!(Sqlite, SqliteConnection);
67impl_into_maybe_pool!(Sqlite, SqliteConnection);
68
69impl_encode_for_option!(Sqlite);
71
72#[doc(hidden)]
74pub static CREATE_DB_WAL: AtomicBool = AtomicBool::new(true);
75
76#[doc(hidden)]
78pub fn describe_blocking(
79 opts: &SqliteConnectOptions,
80 query: &str,
81) -> Result<Describe<Sqlite>, Error> {
82 let params = EstablishParams::from_options(opts)?;
83 let mut conn = params.establish()?;
84
85 connection::execute::iter(&mut conn, &opts.pragma_string(), None, false)?.finish()?;
87
88 connection::describe::describe(&mut conn, query)
89
90 }