Fix stuff for int fallback removal

This commit is contained in:
Steven Fackler 2014-06-27 19:35:39 -07:00
parent a1761bb8d2
commit a2fdd9b6e6
5 changed files with 32 additions and 44 deletions

View File

@ -52,10 +52,10 @@ fn main() {
.unwrap(); .unwrap();
for row in stmt.query([]).unwrap() { for row in stmt.query([]).unwrap() {
let person = Person { let person = Person {
id: row[1], id: row[1u],
name: row[2], name: row[2u],
time_created: row[3], time_created: row[3u],
data: row[4] data: row[4u]
}; };
println!("Found person {}", person.name); println!("Found person {}", person.name);
} }

View File

@ -44,10 +44,10 @@ fn main() {
.unwrap(); .unwrap();
for row in stmt.query([]).unwrap() { for row in stmt.query([]).unwrap() {
let person = Person { let person = Person {
id: row[1], id: row[1u],
name: row[2], name: row[2u],
time_created: row[3], time_created: row[3u],
data: row[4] data: row[4u]
}; };
println!("Found person {}", person.name); println!("Found person {}", person.name);
} }
@ -1467,7 +1467,7 @@ impl<'stmt, I: RowIndex+Clone+fmt::Show, T: FromSql> Index<I, T>
/// # let stmt = conn.prepare("").unwrap(); /// # let stmt = conn.prepare("").unwrap();
/// # let mut result = stmt.query([]).unwrap(); /// # let mut result = stmt.query([]).unwrap();
/// # let row = result.next().unwrap(); /// # let row = result.next().unwrap();
/// let foo: i32 = row[1]; /// let foo: i32 = row[1u];
/// let bar: String = row["bar"]; /// let bar: String = row["bar"];
/// ``` /// ```
fn index(&self, idx: &I) -> T { fn index(&self, idx: &I) -> T {
@ -1496,18 +1496,6 @@ impl RowIndex for uint {
} }
} }
// This is a convenience as the 1 in get[1] resolves to int :(
impl RowIndex for int {
#[inline]
fn idx(&self, stmt: &PostgresStatement) -> Option<uint> {
if *self < 0 {
None
} else {
(*self as uint).idx(stmt)
}
}
}
impl<'a> RowIndex for &'a str { impl<'a> RowIndex for &'a str {
#[inline] #[inline]
fn idx(&self, stmt: &PostgresStatement) -> Option<uint> { fn idx(&self, stmt: &PostgresStatement) -> Option<uint> {

View File

@ -29,7 +29,7 @@ impl InnerConnectionPool {
/// # use postgres::pool::PostgresConnectionPool; /// # use postgres::pool::PostgresConnectionPool;
/// let pool = PostgresConnectionPool::new("postgres://postgres@localhost", /// let pool = PostgresConnectionPool::new("postgres://postgres@localhost",
/// NoSsl, 5).unwrap(); /// NoSsl, 5).unwrap();
/// for _ in range(0, 10) { /// for _ in range(0u, 10) {
/// let pool = pool.clone(); /// let pool = pool.clone();
/// spawn(proc() { /// spawn(proc() {
/// let conn = pool.get_connection(); /// let conn = pool.get_connection();

View File

@ -116,7 +116,7 @@ fn test_unix_connection() {
let conn = or_fail!(PostgresConnection::connect("postgres://postgres@localhost", &NoSsl)); let conn = or_fail!(PostgresConnection::connect("postgres://postgres@localhost", &NoSsl));
let stmt = or_fail!(conn.prepare("SHOW unix_socket_directories")); let stmt = or_fail!(conn.prepare("SHOW unix_socket_directories"));
let result = or_fail!(stmt.query([])); let result = or_fail!(stmt.query([]));
let unix_socket_directories: String = result.map(|row| row[1]).next().unwrap(); let unix_socket_directories: String = result.map(|row| row[1u]).next().unwrap();
if unix_socket_directories.is_empty() { if unix_socket_directories.is_empty() {
fail!("can't test connect_unix; unix_socket_directories is empty"); fail!("can't test connect_unix; unix_socket_directories is empty");
@ -142,7 +142,7 @@ fn test_transaction_commit() {
let stmt = or_fail!(conn.prepare("SELECT * FROM foo")); let stmt = or_fail!(conn.prepare("SELECT * FROM foo"));
let result = or_fail!(stmt.query([])); let result = or_fail!(stmt.query([]));
assert_eq!(vec![1i32], result.map(|row| row[1]).collect()); assert_eq!(vec![1i32], result.map(|row| row[1u]).collect());
} }
#[test] #[test]
@ -157,7 +157,7 @@ fn test_transaction_commit_finish() {
let stmt = or_fail!(conn.prepare("SELECT * FROM foo")); let stmt = or_fail!(conn.prepare("SELECT * FROM foo"));
let result = or_fail!(stmt.query([])); let result = or_fail!(stmt.query([]));
assert_eq!(vec![1i32], result.map(|row| row[1]).collect()); assert_eq!(vec![1i32], result.map(|row| row[1u]).collect());
} }
#[test] #[test]
@ -175,7 +175,7 @@ fn test_transaction_rollback() {
let stmt = or_fail!(conn.prepare("SELECT * FROM foo")); let stmt = or_fail!(conn.prepare("SELECT * FROM foo"));
let result = or_fail!(stmt.query([])); let result = or_fail!(stmt.query([]));
assert_eq!(vec![1i32], result.map(|row| row[1]).collect()); assert_eq!(vec![1i32], result.map(|row| row[1u]).collect());
} }
#[test] #[test]
@ -193,7 +193,7 @@ fn test_transaction_rollback_finish() {
let stmt = or_fail!(conn.prepare("SELECT * FROM foo")); let stmt = or_fail!(conn.prepare("SELECT * FROM foo"));
let result = or_fail!(stmt.query([])); let result = or_fail!(stmt.query([]));
assert_eq!(vec![1i32], result.map(|row| row[1]).collect()); assert_eq!(vec![1i32], result.map(|row| row[1u]).collect());
} }
#[test] #[test]
@ -232,7 +232,7 @@ fn test_nested_transactions() {
let stmt = or_fail!(trans1.prepare("SELECT * FROM foo ORDER BY id")); let stmt = or_fail!(trans1.prepare("SELECT * FROM foo ORDER BY id"));
let result = or_fail!(stmt.query([])); let result = or_fail!(stmt.query([]));
assert_eq!(vec![1i32, 2, 4, 6], result.map(|row| row[1]).collect()); assert_eq!(vec![1i32, 2, 4, 6], result.map(|row| row[1u]).collect());
trans1.set_rollback(); trans1.set_rollback();
} }
@ -240,7 +240,7 @@ fn test_nested_transactions() {
let stmt = or_fail!(conn.prepare("SELECT * FROM foo ORDER BY id")); let stmt = or_fail!(conn.prepare("SELECT * FROM foo ORDER BY id"));
let result = or_fail!(stmt.query([])); let result = or_fail!(stmt.query([]));
assert_eq!(vec![1i32], result.map(|row| row[1]).collect()); assert_eq!(vec![1i32], result.map(|row| row[1u]).collect());
} }
#[test] #[test]
@ -286,7 +286,7 @@ fn test_nested_transactions_finish() {
let stmt = or_fail!(trans1.prepare("SELECT * FROM foo ORDER BY id")); let stmt = or_fail!(trans1.prepare("SELECT * FROM foo ORDER BY id"));
let result = or_fail!(stmt.query([])); let result = or_fail!(stmt.query([]));
assert_eq!(vec![1i32, 2, 4, 6], result.map(|row| row[1]).collect()); assert_eq!(vec![1i32, 2, 4, 6], result.map(|row| row[1u]).collect());
} }
trans1.set_rollback(); trans1.set_rollback();
@ -296,7 +296,7 @@ fn test_nested_transactions_finish() {
let stmt = or_fail!(conn.prepare("SELECT * FROM foo ORDER BY id")); let stmt = or_fail!(conn.prepare("SELECT * FROM foo ORDER BY id"));
let result = or_fail!(stmt.query([])); let result = or_fail!(stmt.query([]));
assert_eq!(vec![1i32], result.map(|row| row[1]).collect()); assert_eq!(vec![1i32], result.map(|row| row[1u]).collect());
} }
#[test] #[test]
@ -350,7 +350,7 @@ fn test_batch_execute() {
let stmt = or_fail!(conn.prepare("SELECT * from foo ORDER BY id")); let stmt = or_fail!(conn.prepare("SELECT * from foo ORDER BY id"));
let result = or_fail!(stmt.query([])); let result = or_fail!(stmt.query([]));
assert_eq!(vec![10i64], result.map(|row| row[1]).collect()); assert_eq!(vec![10i64], result.map(|row| row[1u]).collect());
} }
#[test] #[test]
@ -378,7 +378,7 @@ fn test_query() {
let stmt = or_fail!(conn.prepare("SELECT * from foo ORDER BY id")); let stmt = or_fail!(conn.prepare("SELECT * from foo ORDER BY id"));
let result = or_fail!(stmt.query([])); let result = or_fail!(stmt.query([]));
assert_eq!(vec![1i64, 2], result.map(|row| row[1]).collect()); assert_eq!(vec![1i64, 2], result.map(|row| row[1u]).collect());
} }
#[test] #[test]
@ -403,7 +403,7 @@ fn test_lazy_query() {
} }
let stmt = or_fail!(trans.prepare("SELECT id FROM foo ORDER BY id")); let stmt = or_fail!(trans.prepare("SELECT id FROM foo ORDER BY id"));
let result = or_fail!(trans.lazy_query(&stmt, [], 2)); let result = or_fail!(trans.lazy_query(&stmt, [], 2));
assert_eq!(values, result.map(|row| row.unwrap()[1]).collect()); assert_eq!(values, result.map(|row| row.unwrap()[1u]).collect());
trans.set_rollback(); trans.set_rollback();
} }
@ -455,11 +455,11 @@ fn test_type<T: PartialEq+FromSql+ToSql, S: Str>(sql_type: &str, checks: &[(T, S
let conn = or_fail!(PostgresConnection::connect("postgres://postgres@localhost", &NoSsl)); let conn = or_fail!(PostgresConnection::connect("postgres://postgres@localhost", &NoSsl));
for &(ref val, ref repr) in checks.iter() { for &(ref val, ref repr) in checks.iter() {
let stmt = or_fail!(conn.prepare(format!("SELECT {:s}::{}", *repr, sql_type).as_slice())); let stmt = or_fail!(conn.prepare(format!("SELECT {:s}::{}", *repr, sql_type).as_slice()));
let result = or_fail!(stmt.query([])).next().unwrap()[1]; let result = or_fail!(stmt.query([])).next().unwrap()[1u];
assert!(val == &result); assert!(val == &result);
let stmt = or_fail!(conn.prepare(format!("SELECT $1::{}", sql_type).as_slice())); let stmt = or_fail!(conn.prepare(format!("SELECT $1::{}", sql_type).as_slice()));
let result = or_fail!(stmt.query([val as &ToSql])).next().unwrap()[1]; let result = or_fail!(stmt.query([val as &ToSql])).next().unwrap()[1u];
assert!(val == &result); assert!(val == &result);
} }
} }
@ -544,7 +544,7 @@ fn test_bpchar_params() {
let res = or_fail!(stmt.query([])); let res = or_fail!(stmt.query([]));
assert_eq!(vec!(Some("12345".to_str()), Some("123 ".to_str()), None), assert_eq!(vec!(Some("12345".to_str()), Some("123 ".to_str()), None),
res.map(|row| row[1]).collect()); res.map(|row| row[1u]).collect());
} }
#[test] #[test]
@ -795,13 +795,13 @@ fn test_nan_param<T: Float+ToSql+FromSql>(sql_type: &str) {
let conn = or_fail!(PostgresConnection::connect("postgres://postgres@localhost", &NoSsl)); let conn = or_fail!(PostgresConnection::connect("postgres://postgres@localhost", &NoSsl));
let stmt = or_fail!(conn.prepare(format!("SELECT 'NaN'::{}", sql_type).as_slice())); let stmt = or_fail!(conn.prepare(format!("SELECT 'NaN'::{}", sql_type).as_slice()));
let mut result = or_fail!(stmt.query([])); let mut result = or_fail!(stmt.query([]));
let val: T = result.next().unwrap()[1]; let val: T = result.next().unwrap()[1u];
assert!(val.is_nan()); assert!(val.is_nan());
let nan: T = Float::nan(); let nan: T = Float::nan();
let stmt = or_fail!(conn.prepare(format!("SELECT $1::{}", sql_type).as_slice())); let stmt = or_fail!(conn.prepare(format!("SELECT $1::{}", sql_type).as_slice()));
let mut result = or_fail!(stmt.query([&nan as &ToSql])); let mut result = or_fail!(stmt.query([&nan as &ToSql]));
let val: T = result.next().unwrap()[1]; let val: T = result.next().unwrap()[1u];
assert!(val.is_nan()) assert!(val.is_nan())
} }

View File

@ -345,7 +345,7 @@ mod tests {
#[test] #[test]
fn test_from_vec() { fn test_from_vec() {
let a = ArrayBase::from_vec(vec!(0, 1, 2), -1); let a = ArrayBase::from_vec(vec!(0i, 1, 2), -1);
assert!([DimensionInfo { len: 3, lower_bound: -1 }] == assert!([DimensionInfo { len: 3, lower_bound: -1 }] ==
a.dimension_info()); a.dimension_info());
assert_eq!(&0, a.get(-1)); assert_eq!(&0, a.get(-1));
@ -379,7 +379,7 @@ mod tests {
#[test] #[test]
fn test_2d_slice_get() { fn test_2d_slice_get() {
let mut a = ArrayBase::from_vec(vec!(0, 1, 2), -1); let mut a = ArrayBase::from_vec(vec!(0i, 1, 2), -1);
a.wrap(1); a.wrap(1);
let s = a.slice(1); let s = a.slice(1);
assert_eq!(&0, s.get(-1)); assert_eq!(&0, s.get(-1));
@ -414,7 +414,7 @@ mod tests {
#[test] #[test]
fn test_push_move_ok() { fn test_push_move_ok() {
let mut a = ArrayBase::from_vec(vec!(1, 2), 0); let mut a = ArrayBase::from_vec(vec!(1i, 2), 0);
a.wrap(0); a.wrap(0);
a.push_move(ArrayBase::from_vec(vec!(3, 4), 0)); a.push_move(ArrayBase::from_vec(vec!(3, 4), 0));
let s = a.slice(0); let s = a.slice(0);
@ -427,7 +427,7 @@ mod tests {
#[test] #[test]
fn test_3d() { fn test_3d() {
let mut a = ArrayBase::from_vec(vec!(0, 1), 0); let mut a = ArrayBase::from_vec(vec!(0i, 1), 0);
a.wrap(0); a.wrap(0);
a.push_move(ArrayBase::from_vec(vec!(2, 3), 0)); a.push_move(ArrayBase::from_vec(vec!(2, 3), 0));
a.wrap(0); a.wrap(0);
@ -453,7 +453,7 @@ mod tests {
#[test] #[test]
fn test_mut() { fn test_mut() {
let mut a = ArrayBase::from_vec(vec!(1, 2), 0); let mut a = ArrayBase::from_vec(vec!(1i, 2), 0);
a.wrap(0); a.wrap(0);
{ {
let mut s = a.slice_mut(0); let mut s = a.slice_mut(0);