mirror of
https://github.com/fluencelabs/sqlite-wasm-connector
synced 2025-04-25 08:42:14 +00:00
Rename instruct to execute and iterate to process
This commit is contained in:
parent
e0e5d9198b
commit
1fdedd03f9
@ -22,12 +22,12 @@ fn main() {
|
|||||||
let path = setup();
|
let path = setup();
|
||||||
let database = sqlite::open(&path).unwrap();
|
let database = sqlite::open(&path).unwrap();
|
||||||
|
|
||||||
database.instruct(r#"
|
database.execute(r#"
|
||||||
CREATE TABLE `users` (id INTEGER, name VARCHAR(255));
|
CREATE TABLE `users` (id INTEGER, name VARCHAR(255));
|
||||||
INSERT INTO `users` (id, name) VALUES (1, 'Alice');
|
INSERT INTO `users` (id, name) VALUES (1, 'Alice');
|
||||||
"#).unwrap();
|
"#).unwrap();
|
||||||
|
|
||||||
database.iterate("SELECT * FROM `users`;", |pairs| {
|
database.process("SELECT * FROM `users`;", |pairs| {
|
||||||
for (ref column, ref value) in pairs {
|
for (ref column, ref value) in pairs {
|
||||||
println!("{} = {}", column, value);
|
println!("{} = {}", column, value);
|
||||||
}
|
}
|
||||||
|
@ -7,12 +7,12 @@ fn main() {
|
|||||||
let path = setup();
|
let path = setup();
|
||||||
let database = sqlite::open(&path).unwrap();
|
let database = sqlite::open(&path).unwrap();
|
||||||
|
|
||||||
database.instruct(r#"
|
database.execute(r#"
|
||||||
CREATE TABLE `users` (id INTEGER, name VARCHAR(255));
|
CREATE TABLE `users` (id INTEGER, name VARCHAR(255));
|
||||||
INSERT INTO `users` (id, name) VALUES (1, 'Alice');
|
INSERT INTO `users` (id, name) VALUES (1, 'Alice');
|
||||||
"#).unwrap();
|
"#).unwrap();
|
||||||
|
|
||||||
database.iterate("SELECT * FROM `users`;", |pairs| {
|
database.process("SELECT * FROM `users`;", |pairs| {
|
||||||
for (ref column, ref value) in pairs {
|
for (ref column, ref value) in pairs {
|
||||||
println!("{} = {}", column, value);
|
println!("{} = {}", column, value);
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,7 @@ impl<'l> Database<'l> {
|
|||||||
|
|
||||||
/// Execute a query without processing the resulting rows if any.
|
/// Execute a query without processing the resulting rows if any.
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn instruct(&self, sql: &str) -> Result<()> {
|
pub fn execute(&self, sql: &str) -> Result<()> {
|
||||||
unsafe {
|
unsafe {
|
||||||
success!(self, raw::sqlite3_exec(self.raw, str_to_c_str!(sql), None, 0 as *mut _,
|
success!(self, raw::sqlite3_exec(self.raw, str_to_c_str!(sql), None, 0 as *mut _,
|
||||||
0 as *mut _));
|
0 as *mut _));
|
||||||
@ -41,7 +41,7 @@ impl<'l> Database<'l> {
|
|||||||
/// The callback is triggered for each row. If the callback returns `false`,
|
/// The callback is triggered for each row. If the callback returns `false`,
|
||||||
/// no more rows will be processed.
|
/// no more rows will be processed.
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn iterate<F>(&self, sql: &str, callback: F) -> Result<()>
|
pub fn process<F>(&self, sql: &str, callback: F) -> Result<()>
|
||||||
where F: FnMut(Vec<(String, String)>) -> bool
|
where F: FnMut(Vec<(String, String)>) -> bool
|
||||||
{
|
{
|
||||||
unsafe {
|
unsafe {
|
||||||
@ -143,10 +143,10 @@ mod tests {
|
|||||||
);
|
);
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn iterate() {
|
fn execute() {
|
||||||
let (path, _directory) = setup();
|
let (path, _directory) = setup();
|
||||||
let database = ok!(Database::open(&path));
|
let database = ok!(Database::open(&path));
|
||||||
match database.instruct(":)") {
|
match database.execute(":)") {
|
||||||
Err(error) => assert_eq!(error.message,
|
Err(error) => assert_eq!(error.message,
|
||||||
Some(String::from(r#"unrecognized token: ":""#))),
|
Some(String::from(r#"unrecognized token: ":""#))),
|
||||||
_ => assert!(false),
|
_ => assert!(false),
|
||||||
|
@ -21,7 +21,7 @@ fn workflow() {
|
|||||||
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);"#;
|
||||||
ok!(database.instruct(sql));
|
ok!(database.execute(sql));
|
||||||
|
|
||||||
{
|
{
|
||||||
let sql = r#"INSERT INTO `users` (id, name, age) VALUES (?, ?, ?);"#;
|
let sql = r#"INSERT INTO `users` (id, name, age) VALUES (?, ?, ?);"#;
|
||||||
@ -33,7 +33,7 @@ fn workflow() {
|
|||||||
{
|
{
|
||||||
let mut done = false;
|
let mut done = false;
|
||||||
let sql = r#"SELECT * FROM `users`;"#;
|
let sql = r#"SELECT * FROM `users`;"#;
|
||||||
ok!(database.iterate(sql, |pairs| {
|
ok!(database.process(sql, |pairs| {
|
||||||
assert!(pairs.len() == 3);
|
assert!(pairs.len() == 3);
|
||||||
assert!(pairs[0] == pair!("id", "1"));
|
assert!(pairs[0] == pair!("id", "1"));
|
||||||
assert!(pairs[1] == pair!("name", "Alice"));
|
assert!(pairs[1] == pair!("name", "Alice"));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user