mirror of
				https://github.com/isar/rusqlite.git
				synced 2025-10-31 22:08:55 +08:00 
			
		
		
		
	| @@ -45,7 +45,7 @@ impl<'conn> Statement<'conn> { | ||||
|         let bytes = name.as_bytes(); | ||||
|         let n = self.column_count(); | ||||
|         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); | ||||
|             } | ||||
|         } | ||||
| @@ -785,4 +785,30 @@ mod test { | ||||
|         let y: Result<i64> = stmt.query_row(&[&1i32], |r| r.get(0)); | ||||
|         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()); | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user