mirror of
https://github.com/isar/rusqlite.git
synced 2024-11-26 19:41:37 +08:00
parent
b1b1d70ba9
commit
50d379b564
@ -45,7 +45,7 @@ impl<'conn> Statement<'conn> {
|
|||||||
let bytes = name.as_bytes();
|
let bytes = name.as_bytes();
|
||||||
let n = self.column_count();
|
let n = self.column_count();
|
||||||
for i in 0..n {
|
for i in 0..n {
|
||||||
if bytes == self.stmt.column_name(i).to_bytes() {
|
if bytes.eq_ignore_ascii_case(self.stmt.column_name(i).to_bytes()) {
|
||||||
return Ok(i);
|
return Ok(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -785,4 +785,30 @@ mod test {
|
|||||||
let y: Result<i64> = stmt.query_row(&[&1i32], |r| r.get(0));
|
let y: Result<i64> = stmt.query_row(&[&1i32], |r| r.get(0));
|
||||||
assert_eq!(3i64, y.unwrap());
|
assert_eq!(3i64, y.unwrap());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_query_by_column_name() {
|
||||||
|
let db = Connection::open_in_memory().unwrap();
|
||||||
|
let sql = "BEGIN;
|
||||||
|
CREATE TABLE foo(x INTEGER, y INTEGER);
|
||||||
|
INSERT INTO foo VALUES(1, 3);
|
||||||
|
END;";
|
||||||
|
db.execute_batch(sql).unwrap();
|
||||||
|
let mut stmt = db.prepare("SELECT y FROM foo").unwrap();
|
||||||
|
let y: Result<i64> = stmt.query_row(&[], |r| r.get("y"));
|
||||||
|
assert_eq!(3i64, y.unwrap());
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_query_by_column_name_ignore_case() {
|
||||||
|
let db = Connection::open_in_memory().unwrap();
|
||||||
|
let sql = "BEGIN;
|
||||||
|
CREATE TABLE foo(x INTEGER, y INTEGER);
|
||||||
|
INSERT INTO foo VALUES(1, 3);
|
||||||
|
END;";
|
||||||
|
db.execute_batch(sql).unwrap();
|
||||||
|
let mut stmt = db.prepare("SELECT y as Y FROM foo").unwrap();
|
||||||
|
let y: Result<i64> = stmt.query_row(&[], |r| r.get("y"));
|
||||||
|
assert_eq!(3i64, y.unwrap());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user