Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
fsqlite
Public API facade for FrankenSQLite -- a from-scratch SQLite-compatible database engine written in Rust.
Overview
fsqlite is the top-level crate that application code depends on. It re-exports a stable, ergonomic API surface from the internal workspace crates (fsqlite-core, fsqlite-vfs, fsqlite-types, fsqlite-error) and gates optional extension modules behind Cargo features. This is the primary entry point for opening connections, executing queries, and working with prepared statements.
fsqlite-error --> fsqlite-types --> fsqlite-ast --> fsqlite-parser
| |
+---> fsqlite-func |
+---> fsqlite-observability |
| v
+--------------> fsqlite-core <---+
|
fsqlite-vfs -------------+
| |
+-----> fsqlite (facade) <-- you are here
|
optional extensions:
fsqlite-ext-json
fsqlite-ext-fts5
fsqlite-ext-fts3
fsqlite-ext-rtree
fsqlite-ext-session
fsqlite-ext-icu
fsqlite-ext-misc
Cargo Features
| Feature | Default | Description |
|---|---|---|
json |
yes | JSON1 extension (json(), json_extract(), etc.) |
fts5 |
yes | Full-text search v5 |
rtree |
yes | R-Tree spatial index |
fts3 |
no | Full-text search v3/v4 (legacy) |
session |
no | Session extension (changeset/patchset) |
icu |
yes | ICU Unicode collation/tokenization |
misc |
yes | Miscellaneous extensions |
raptorq |
no | Currently an empty feature flag |
mvcc |
no | Currently an empty feature flag; MVCC concurrent writers are enabled by default |
Key Types (re-exported)
Connection- A database connection. Open withConnection::open(path).await?orConnection::open(":memory:").await?.PreparedStatement- A compiled SQL statement for repeated execution with different parameters.Row- A single result row. Access columns by index withrow.get(i)or get all values withrow.values().TraceEvent/TraceMask- Tracing callback types for monitoring SQL execution.fsqlite_vfs- The virtual filesystem layer (re-exported module).
Usage
Add the database and the caller's runtime to your application's Cargo.toml:
[]
= "0.3.16"
= { = "0.4.10", = false }
Connection and prepared-statement operations are asynchronous. This complete
program creates the application's runtime, awaits each operation, and closes
the connection before the runtime exits. Connection is !Send and !Sync;
keep it on its owning thread.
use RuntimeBuilder;
use ;
License
MIT