1mod auto_extension;
8pub(crate) mod backend;
9pub(crate) mod connection;
10pub mod expression;
11mod function_behavior;
12pub mod pragma;
13
14pub mod query_builder;
15
16mod types;
17
18pub use self::auto_extension::cancel_auto_extension;
19pub use self::auto_extension::register_auto_extension;
20pub use self::auto_extension::reset_auto_extension;
21pub use self::backend::{Sqlite, SqliteType};
22pub use self::connection::AutoVacuumMode;
23pub use self::connection::BusyDecision;
24pub use self::connection::CommitDecision;
25pub use self::connection::ProgressDecision;
26pub use self::connection::SerializedDatabase;
27pub use self::connection::SqliteBindValue;
28pub use self::connection::SqliteConnection;
29pub use self::connection::SqliteLimit;
30pub use self::connection::SqliteTraceEvent;
31pub use self::connection::SqliteTraceFlags;
32pub use self::connection::SqliteValue;
33pub use self::connection::WalCheckpointMode;
34pub use self::connection::WalCheckpointOutcome;
35pub use self::connection::authorizer;
36pub use self::connection::sqlite_blob::SqliteReadOnlyBlob;
37pub use self::connection::{AuthorizerContext, AuthorizerDecision};
38pub use self::connection::{CollationNeededContext, SqliteTextRep};
39#[cfg(feature = "i-implement-a-third-party-backend-and-opt-into-breaking-changes")]
40pub use self::connection::{
41 OwnedSqliteBindValue, SqliteBindCollector, SqliteBindCollectorData, SqliteBindValueRef,
42};
43pub use self::connection::{
44 SqliteChangeEvent, SqliteChangeOp, SqliteChangeOps, SqliteUpdateRouter,
45};
46#[cfg(feature = "__sqlite-shared")]
47pub use self::function_behavior::SqliteFunctionBehavior;
48pub use self::query_builder::SqliteQueryBuilder;
49
50pub trait SqliteAggregateFunction<Args>: Default {
56 type Output;
58
59 fn step(&mut self, args: Args);
65
66 fn finalize(aggregator: Option<Self>) -> Self::Output;
74}
75
76pub mod sql_types {
78 #[doc(inline)]
79 pub use super::types::Timestamptz;
80
81 #[cfg(feature = "__sqlite-shared")]
82 #[doc(inline)]
83 pub use super::types::JsonValidFlags;
84}
85
86#[cfg(feature = "__sqlite-shared")]
87pub use self::types::JsonValidFlag;