Crate rusqlite[−][src]
Rusqlite is an ergonomic wrapper for using SQLite from Rust. It attempts to expose an interface similar to rust-postgres.
extern crate rusqlite; extern crate time; use rusqlite::Connection; use time::Timespec; #[derive(Debug)] struct Person { id: i32, name: String, time_created: Timespec, data: Option<Vec<u8>>, } fn main() { let conn = Connection::open_in_memory().unwrap(); conn.execute( "CREATE TABLE person ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, time_created TEXT NOT NULL, data BLOB )", &[], ).unwrap(); let me = Person { id: 0, name: "Steven".to_string(), time_created: time::get_time(), data: None, }; conn.execute( "INSERT INTO person (name, time_created, data) VALUES (?1, ?2, ?3)", &[&me.name, &me.time_created, &me.data], ).unwrap(); let mut stmt = conn .prepare("SELECT id, name, time_created, data FROM person") .unwrap(); let person_iter = stmt .query_map(&[], |row| Person { id: row.get(0), name: row.get(1), time_created: row.get(2), data: row.get(3), }).unwrap(); for person in person_iter { println!("Found person {:?}", person.unwrap()); } }
Modules
backup |
Online SQLite backup API. |
blob |
Incremental BLOB I/O. |
functions |
Create or redefine SQL functions. |
limits |
Run-Time Limits |
trace |
Tracing and profiling functions. Error and warning log. |
types |
Traits dealing with SQLite data types. |
vtab |
Create virtual tables. |
Structs
AndThenRows |
An iterator over the mapped resulting rows of a query, with an Error type unifying with Error. |
CachedStatement |
Cacheable statement. |
Connection |
A connection to a SQLite database. |
LoadExtensionGuard |
RAII guard temporarily enabling SQLite extensions to be loaded. |
MappedRows |
An iterator over the mapped resulting rows of a query. |
OpenFlags |
Flags for opening SQLite database connections. See sqlite3_open_v2 for details. |
Row |
A single result row of a query. |
Rows |
An handle for the resulting rows of a query. |
Savepoint |
Represents a savepoint on a database connection. |
Statement |
A prepared statement. |
Transaction |
Represents a transaction on a database connection. |
Enums
DatabaseName |
Name for a database within a SQLite connection. |
DropBehavior |
Options for how a Transaction or Savepoint should behave when it is dropped. |
Error |
Enum listing possible errors from rusqlite. |
ErrorCode |
Error Codes |
TransactionBehavior |
Options for transaction behavior. See BEGIN TRANSACTION for details. |
Traits
RowIndex |
A trait implemented by types that can index into columns of a row. |
Functions
bypass_sqlite_initialization⚠ |
rusqlite's check for a safe SQLite threading mode requires SQLite 3.7.0 or later. If you are running against a SQLite older than that, rusqlite attempts to ensure safety by performing configuration and initialization of SQLite itself the first time you attempt to open a connection. By default, rusqlite panics if that initialization fails, since that could mean SQLite has been initialized in single-thread mode. |
bypass_sqlite_version_check⚠ |
rusqlite performs a one-time check that the runtime SQLite version is at least as new as the version of SQLite found when rusqlite was built. Bypassing this check may be dangerous; e.g., if you use features of SQLite that are not present in the runtime version. If you are sure the runtime version is compatible with the build-time version for your usage, you can bypass the version check by calling this function before your first connection attempt. |
version |
Returns the SQLite version as a string; e.g., |
version_number |
Returns the SQLite version as an integer; e.g., |
Type Definitions
Result |
A typedef of the result returned by many methods. |
SqliteConnection |
[ Deprecated ] Old name for |
SqliteError |
[ Deprecated ] Old name for |
SqliteLoadExtensionGuard |
[ Deprecated ] Old name for |
SqliteOpenFlags |
[ Deprecated ] Old name for |
SqliteResult |
[ Deprecated ] Old name for |
SqliteRow |
[ Deprecated ] Old name for |
SqliteRows |
[ Deprecated ] Old name for |
SqliteStatement |
[ Deprecated ] Old name for |
SqliteTransaction |
[ Deprecated ] Old name for |
SqliteTransactionBehavior |
[ Deprecated ] Old name for |