Introduce NO_PARAMS constant

As suggested here:
https://users.rust-lang.org/t/sql-parameter-values/20469/2
This commit is contained in:
gwenn
2018-09-16 11:10:19 +02:00
parent c4ae541eac
commit e7e03c3443
15 changed files with 152 additions and 208 deletions

View File

@@ -132,8 +132,7 @@ mod test {
use super::chrono::{
DateTime, Duration, Local, NaiveDate, NaiveDateTime, NaiveTime, TimeZone, Utc,
};
use types::ToSql;
use Connection;
use {Connection, NO_PARAMS};
fn checked_memory_handle() -> Connection {
let db = Connection::open_in_memory().unwrap();
@@ -150,11 +149,11 @@ mod test {
.unwrap();
let s: String = db
.query_row("SELECT t FROM foo", &[] as &[&ToSql], |r| r.get(0))
.query_row("SELECT t FROM foo", NO_PARAMS, |r| r.get(0))
.unwrap();
assert_eq!("2016-02-23", s);
let t: NaiveDate = db
.query_row("SELECT t FROM foo", &[] as &[&ToSql], |r| r.get(0))
.query_row("SELECT t FROM foo", NO_PARAMS, |r| r.get(0))
.unwrap();
assert_eq!(date, t);
}
@@ -167,11 +166,11 @@ mod test {
.unwrap();
let s: String = db
.query_row("SELECT t FROM foo", &[] as &[&ToSql], |r| r.get(0))
.query_row("SELECT t FROM foo", NO_PARAMS, |r| r.get(0))
.unwrap();
assert_eq!("23:56:04", s);
let v: NaiveTime = db
.query_row("SELECT t FROM foo", &[] as &[&ToSql], |r| r.get(0))
.query_row("SELECT t FROM foo", NO_PARAMS, |r| r.get(0))
.unwrap();
assert_eq!(time, v);
}
@@ -187,18 +186,18 @@ mod test {
.unwrap();
let s: String = db
.query_row("SELECT t FROM foo", &[] as &[&ToSql], |r| r.get(0))
.query_row("SELECT t FROM foo", NO_PARAMS, |r| r.get(0))
.unwrap();
assert_eq!("2016-02-23T23:56:04", s);
let v: NaiveDateTime = db
.query_row("SELECT t FROM foo", &[] as &[&ToSql], |r| r.get(0))
.query_row("SELECT t FROM foo", NO_PARAMS, |r| r.get(0))
.unwrap();
assert_eq!(dt, v);
db.execute("UPDATE foo set b = datetime(t)", &[] as &[&ToSql])
db.execute("UPDATE foo set b = datetime(t)", NO_PARAMS)
.unwrap(); // "YYYY-MM-DD HH:MM:SS"
let hms: NaiveDateTime = db
.query_row("SELECT b FROM foo", &[] as &[&ToSql], |r| r.get(0))
.query_row("SELECT b FROM foo", NO_PARAMS, |r| r.get(0))
.unwrap();
assert_eq!(dt, hms);
}
@@ -215,33 +214,29 @@ mod test {
.unwrap();
let s: String = db
.query_row("SELECT t FROM foo", &[] as &[&ToSql], |r| r.get(0))
.query_row("SELECT t FROM foo", NO_PARAMS, |r| r.get(0))
.unwrap();
assert_eq!("2016-02-23T23:56:04.789+00:00", s);
let v1: DateTime<Utc> = db
.query_row("SELECT t FROM foo", &[] as &[&ToSql], |r| r.get(0))
.query_row("SELECT t FROM foo", NO_PARAMS, |r| r.get(0))
.unwrap();
assert_eq!(utc, v1);
let v2: DateTime<Utc> = db
.query_row("SELECT '2016-02-23 23:56:04.789'", &[] as &[&ToSql], |r| {
r.get(0)
}).unwrap();
.query_row("SELECT '2016-02-23 23:56:04.789'", NO_PARAMS, |r| r.get(0))
.unwrap();
assert_eq!(utc, v2);
let v3: DateTime<Utc> = db
.query_row("SELECT '2016-02-23 23:56:04'", &[] as &[&ToSql], |r| {
r.get(0)
}).unwrap();
.query_row("SELECT '2016-02-23 23:56:04'", NO_PARAMS, |r| r.get(0))
.unwrap();
assert_eq!(utc - Duration::milliseconds(789), v3);
let v4: DateTime<Utc> = db
.query_row(
"SELECT '2016-02-23 23:56:04.789+00:00'",
&[] as &[&ToSql],
|r| r.get(0),
).unwrap();
.query_row("SELECT '2016-02-23 23:56:04.789+00:00'", NO_PARAMS, |r| {
r.get(0)
}).unwrap();
assert_eq!(utc, v4);
}
@@ -258,12 +253,12 @@ mod test {
// Stored string should be in UTC
let s: String = db
.query_row("SELECT t FROM foo", &[] as &[&ToSql], |r| r.get(0))
.query_row("SELECT t FROM foo", NO_PARAMS, |r| r.get(0))
.unwrap();
assert!(s.ends_with("+00:00"));
let v: DateTime<Local> = db
.query_row("SELECT t FROM foo", &[] as &[&ToSql], |r| r.get(0))
.query_row("SELECT t FROM foo", NO_PARAMS, |r| r.get(0))
.unwrap();
assert_eq!(local, v);
}

View File

@@ -115,9 +115,7 @@ mod test {
use super::Value;
use std::f64::EPSILON;
use std::os::raw::{c_double, c_int};
use types::ToSql;
use Connection;
use Error;
use {Connection, Error, NO_PARAMS};
fn checked_memory_handle() -> Connection {
let db = Connection::open_in_memory().unwrap();
@@ -135,7 +133,7 @@ mod test {
.unwrap();
let v: Vec<u8> = db
.query_row("SELECT b FROM foo", &[] as &[&ToSql], |r| r.get(0))
.query_row("SELECT b FROM foo", NO_PARAMS, |r| r.get(0))
.unwrap();
assert_eq!(v, v1234);
}
@@ -149,7 +147,7 @@ mod test {
.unwrap();
let v: Vec<u8> = db
.query_row("SELECT b FROM foo", &[] as &[&ToSql], |r| r.get(0))
.query_row("SELECT b FROM foo", NO_PARAMS, |r| r.get(0))
.unwrap();
assert_eq!(v, empty);
}
@@ -162,7 +160,7 @@ mod test {
db.execute("INSERT INTO foo(t) VALUES (?)", &[&s]).unwrap();
let from: String = db
.query_row("SELECT t FROM foo", &[] as &[&ToSql], |r| r.get(0))
.query_row("SELECT t FROM foo", NO_PARAMS, |r| r.get(0))
.unwrap();
assert_eq!(from, s);
}
@@ -176,7 +174,7 @@ mod test {
.unwrap();
let from: String = db
.query_row("SELECT t FROM foo", &[] as &[&ToSql], |r| r.get(0))
.query_row("SELECT t FROM foo", NO_PARAMS, |r| r.get(0))
.unwrap();
assert_eq!(from, s);
}
@@ -190,7 +188,7 @@ mod test {
assert_eq!(
10i64,
db.query_row::<i64, _, _>("SELECT i FROM foo", &[] as &[&ToSql], |r| r.get(0))
db.query_row::<i64, _, _>("SELECT i FROM foo", NO_PARAMS, |r| r.get(0))
.unwrap()
);
}
@@ -208,7 +206,7 @@ mod test {
let mut stmt = db
.prepare("SELECT t, b FROM foo ORDER BY ROWID ASC")
.unwrap();
let mut rows = stmt.query(&[] as &[&ToSql]).unwrap();
let mut rows = stmt.query(NO_PARAMS).unwrap();
{
let row1 = rows.next().unwrap().unwrap();
@@ -240,11 +238,11 @@ mod test {
db.execute(
"INSERT INTO foo(b, t, i, f) VALUES (X'0102', 'text', 1, 1.5)",
&[] as &[&ToSql],
NO_PARAMS,
).unwrap();
let mut stmt = db.prepare("SELECT b, t, i, f, n FROM foo").unwrap();
let mut rows = stmt.query(&[] as &[&ToSql]).unwrap();
let mut rows = stmt.query(NO_PARAMS).unwrap();
let row = rows.next().unwrap().unwrap();
@@ -355,11 +353,11 @@ mod test {
db.execute(
"INSERT INTO foo(b, t, i, f) VALUES (X'0102', 'text', 1, 1.5)",
&[] as &[&ToSql],
NO_PARAMS,
).unwrap();
let mut stmt = db.prepare("SELECT b, t, i, f, n FROM foo").unwrap();
let mut rows = stmt.query(&[] as &[&ToSql]).unwrap();
let mut rows = stmt.query(NO_PARAMS).unwrap();
let row = rows.next().unwrap().unwrap();
assert_eq!(

View File

@@ -28,7 +28,7 @@ impl FromSql for Value {
mod test {
use super::serde_json;
use types::ToSql;
use Connection;
use {Connection, NO_PARAMS};
fn checked_memory_handle() -> Connection {
let db = Connection::open_in_memory().unwrap();
@@ -49,11 +49,11 @@ mod test {
).unwrap();
let t: serde_json::Value = db
.query_row("SELECT t FROM foo", &[] as &[&ToSql], |r| r.get(0))
.query_row("SELECT t FROM foo", NO_PARAMS, |r| r.get(0))
.unwrap();
assert_eq!(data, t);
let b: serde_json::Value = db
.query_row("SELECT b FROM foo", &[] as &[&ToSql], |r| r.get(0))
.query_row("SELECT b FROM foo", NO_PARAMS, |r| r.get(0))
.unwrap();
assert_eq!(data, b);
}

View File

@@ -32,8 +32,7 @@ impl FromSql for time::Timespec {
#[cfg(test)]
mod test {
use super::time;
use types::ToSql;
use Connection;
use {Connection, NO_PARAMS};
fn checked_memory_handle() -> Connection {
let db = Connection::open_in_memory().unwrap();
@@ -59,10 +58,10 @@ mod test {
db.execute("INSERT INTO foo(t) VALUES (?)", &[&ts]).unwrap();
let from: time::Timespec = db
.query_row("SELECT t FROM foo", &[] as &[&ToSql], |r| r.get(0))
.query_row("SELECT t FROM foo", NO_PARAMS, |r| r.get(0))
.unwrap();
db.execute("DELETE FROM foo", &[] as &[&ToSql]).unwrap();
db.execute("DELETE FROM foo", NO_PARAMS).unwrap();
assert_eq!(from, ts);
}