Skip to content

Commit 99b37fa

Browse files
committed
libsql: Add integration tests for statement reset
Refs: #2135
1 parent fbb1efb commit 99b37fa

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

libsql/tests/integration_tests.rs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -854,3 +854,36 @@ fn assert_sqlite_error<T>(res: Result<T>, code: i32) {
854854
}
855855
}
856856
}
857+
858+
#[tokio::test]
859+
async fn test_prepared_statement_reset() {
860+
// Test for issue #2135
861+
let db = Database::open(":memory:").unwrap();
862+
let conn = db.connect().unwrap();
863+
864+
conn.execute("CREATE TABLE domain (name TEXT)", ())
865+
.await
866+
.unwrap();
867+
868+
let stmt = conn
869+
.prepare("INSERT INTO domain VALUES (?1)")
870+
.await
871+
.unwrap();
872+
873+
let domains = ["example.com", "example.org", "example.net"];
874+
for domain in domains {
875+
stmt.execute([domain]).await.unwrap();
876+
}
877+
878+
let mut rows = conn
879+
.query("SELECT name FROM domain ORDER BY name", ())
880+
.await
881+
.unwrap();
882+
let mut results = Vec::new();
883+
while let Some(row) = rows.next().await.unwrap() {
884+
let name: String = row.get(0).unwrap();
885+
results.push(name);
886+
}
887+
888+
assert_eq!(results, vec!["example.com", "example.net", "example.org"]);
889+
}

0 commit comments

Comments
 (0)