mirror of
https://github.com/fluencelabs/sqlite-wasm-connector
synced 2025-04-25 08:42:14 +00:00
Update the usage example
This commit is contained in:
parent
a31345da43
commit
610aea0221
14
README.md
14
README.md
@ -15,12 +15,10 @@ cargo run --example workflow
|
|||||||
```rust
|
```rust
|
||||||
extern crate sqlite;
|
extern crate sqlite;
|
||||||
|
|
||||||
use std::fs;
|
use std::path::Path;
|
||||||
use std::path::PathBuf;
|
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let path = setup();
|
let database = sqlite::open(&Path::new(":memory:")).unwrap();
|
||||||
let database = sqlite::open(&path).unwrap();
|
|
||||||
|
|
||||||
database.execute(r#"
|
database.execute(r#"
|
||||||
CREATE TABLE `users` (id INTEGER, name VARCHAR(255));
|
CREATE TABLE `users` (id INTEGER, name VARCHAR(255));
|
||||||
@ -34,14 +32,6 @@ fn main() {
|
|||||||
true
|
true
|
||||||
}).unwrap();
|
}).unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
fn setup() -> PathBuf {
|
|
||||||
let path = PathBuf::from("database.sqlite3");
|
|
||||||
if fs::metadata(&path).is_ok() {
|
|
||||||
fs::remove_file(&path).unwrap();
|
|
||||||
}
|
|
||||||
path
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
extern crate sqlite;
|
extern crate sqlite;
|
||||||
|
|
||||||
use std::fs;
|
use std::path::Path;
|
||||||
use std::path::PathBuf;
|
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let path = setup();
|
let database = sqlite::open(&Path::new(":memory:")).unwrap();
|
||||||
let database = sqlite::open(&path).unwrap();
|
|
||||||
|
|
||||||
database.execute(r#"
|
database.execute(r#"
|
||||||
CREATE TABLE `users` (id INTEGER, name VARCHAR(255));
|
CREATE TABLE `users` (id INTEGER, name VARCHAR(255));
|
||||||
@ -19,11 +17,3 @@ fn main() {
|
|||||||
true
|
true
|
||||||
}).unwrap();
|
}).unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
fn setup() -> PathBuf {
|
|
||||||
let path = PathBuf::from("database.sqlite3");
|
|
||||||
if fs::metadata(&path).is_ok() {
|
|
||||||
fs::remove_file(&path).unwrap();
|
|
||||||
}
|
|
||||||
path
|
|
||||||
}
|
|
||||||
|
24
src/lib.rs
24
src/lib.rs
@ -1,3 +1,27 @@
|
|||||||
|
//! Interface to [SQLite][1].
|
||||||
|
//!
|
||||||
|
//! ## Example
|
||||||
|
//!
|
||||||
|
//! ```
|
||||||
|
//! use std::path::Path;
|
||||||
|
//!
|
||||||
|
//! let database = sqlite::open(&Path::new(":memory:")).unwrap();
|
||||||
|
//!
|
||||||
|
//! database.execute(r#"
|
||||||
|
//! CREATE TABLE `users` (id INTEGER, name VARCHAR(255));
|
||||||
|
//! INSERT INTO `users` (id, name) VALUES (1, 'Alice');
|
||||||
|
//! "#).unwrap();
|
||||||
|
//!
|
||||||
|
//! database.process("SELECT * FROM `users`;", |pairs| {
|
||||||
|
//! for &(column, value) in pairs.iter() {
|
||||||
|
//! println!("{} = {}", column, value.unwrap());
|
||||||
|
//! }
|
||||||
|
//! true
|
||||||
|
//! }).unwrap();
|
||||||
|
//! ```
|
||||||
|
//!
|
||||||
|
//! [1]: https://www.sqlite.org
|
||||||
|
|
||||||
#![allow(unused_unsafe)]
|
#![allow(unused_unsafe)]
|
||||||
|
|
||||||
extern crate libc;
|
extern crate libc;
|
||||||
|
19
tests/lib.rs
19
tests/lib.rs
@ -1,10 +1,6 @@
|
|||||||
extern crate sqlite;
|
extern crate sqlite;
|
||||||
extern crate temporary;
|
extern crate temporary;
|
||||||
|
|
||||||
use std::path::PathBuf;
|
|
||||||
use std::thread;
|
|
||||||
use temporary::Directory;
|
|
||||||
|
|
||||||
macro_rules! ok(
|
macro_rules! ok(
|
||||||
($result:expr) => ($result.unwrap());
|
($result:expr) => ($result.unwrap());
|
||||||
);
|
);
|
||||||
@ -13,13 +9,13 @@ macro_rules! ok(
|
|||||||
fn workflow() {
|
fn workflow() {
|
||||||
use sqlite::Binding::*;
|
use sqlite::Binding::*;
|
||||||
use sqlite::State;
|
use sqlite::State;
|
||||||
|
use std::path::Path;
|
||||||
|
|
||||||
macro_rules! pair(
|
macro_rules! pair(
|
||||||
($one:expr, $two:expr) => (($one, Some($two)));
|
($one:expr, $two:expr) => (($one, Some($two)));
|
||||||
);
|
);
|
||||||
|
|
||||||
let (path, _directory) = setup();
|
let database = ok!(sqlite::open(&Path::new(":memory:")));
|
||||||
let database = ok!(sqlite::open(&path));
|
|
||||||
|
|
||||||
let sql = r#"CREATE TABLE `users` (id INTEGER, name VARCHAR(255), age REAL);"#;
|
let sql = r#"CREATE TABLE `users` (id INTEGER, name VARCHAR(255), age REAL);"#;
|
||||||
ok!(database.execute(sql));
|
ok!(database.execute(sql));
|
||||||
@ -60,8 +56,12 @@ fn workflow() {
|
|||||||
fn stress() {
|
fn stress() {
|
||||||
use sqlite::Binding::*;
|
use sqlite::Binding::*;
|
||||||
use sqlite::State;
|
use sqlite::State;
|
||||||
|
use std::path::PathBuf;
|
||||||
|
use std::thread;
|
||||||
|
use temporary::Directory;
|
||||||
|
|
||||||
let (path, _directory) = setup();
|
let directory = ok!(Directory::new("sqlite"));
|
||||||
|
let path = directory.path().join("database.sqlite3");
|
||||||
|
|
||||||
let database = ok!(sqlite::open(&path));
|
let database = ok!(sqlite::open(&path));
|
||||||
let sql = r#"CREATE TABLE `users` (id INTEGER, name VARCHAR(255), age REAL);"#;
|
let sql = r#"CREATE TABLE `users` (id INTEGER, name VARCHAR(255), age REAL);"#;
|
||||||
@ -84,8 +84,3 @@ fn stress() {
|
|||||||
assert!(guard.join().unwrap());
|
assert!(guard.join().unwrap());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn setup() -> (PathBuf, Directory) {
|
|
||||||
let directory = ok!(Directory::new("sqlite"));
|
|
||||||
(directory.path().join("database.sqlite3"), directory)
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user