From 26626fdeeb413a82c2274c8e7e142d88080605e6 Mon Sep 17 00:00:00 2001 From: Ivan Ukhov Date: Mon, 3 Aug 2015 16:50:21 -0400 Subject: [PATCH] Fix the reading of string data --- src/statement.rs | 2 +- tests/lib.rs | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/statement.rs b/src/statement.rs index cc0b252..254d5f0 100644 --- a/src/statement.rs +++ b/src/statement.rs @@ -199,7 +199,7 @@ impl Readable for Value { Type::Binary => Value::Binary(try!(Readable::read(statement, i))), Type::Float => Value::Float(try!(Readable::read(statement, i))), Type::Integer => Value::Integer(try!(Readable::read(statement, i))), - Type::String => Value::Binary(try!(Readable::read(statement, i))), + Type::String => Value::String(try!(Readable::read(statement, i))), Type::Null => Value::Null, }) } diff --git a/tests/lib.rs b/tests/lib.rs index 914c6ef..8ec8ea3 100644 --- a/tests/lib.rs +++ b/tests/lib.rs @@ -72,11 +72,12 @@ fn connection_set_busy_handler() { #[test] fn iterator() { let connection = setup(":memory:"); - let statement = "SELECT id FROM users WHERE id = ?"; + let statement = "SELECT id, name FROM users WHERE id = ?"; let mut iterator = ok!(connection.prepare(statement)).into_iter().unwrap(); ok!(iterator.start(&[Value::Integer(1)])); - assert_eq!(ok!(ok!(iterator.next())), &[Value::Integer(1)]); + assert_eq!(ok!(ok!(iterator.next())), &[Value::Integer(1), + Value::String("Alice".to_string())]); assert_eq!(ok!(iterator.next()), None); ok!(iterator.start(&[Value::Integer(42)]));