pragma_update fails with ExecuteReturnedResults

Ideally, while executing a batch, we should fail if it contains a SELECT
statement. But currently there is no way to make the distinction between
a SELECT and a PRAGMA which both updates and returns a row.
So we fail only when `extra_check` feature is activated.
This commit is contained in:
gwenn
2020-08-17 19:13:55 +02:00
parent 0063db53ca
commit a4691db6d0
2 changed files with 13 additions and 1 deletions

View File

@@ -430,4 +430,15 @@ mod test {
sql.push_string_literal("value'; --");
assert_eq!("'value''; --'", sql.as_str());
}
#[test]
fn locking_mode() {
let db = Connection::open_in_memory().unwrap();
let r = db.pragma_update(None, "locking_mode", &"exclusive");
if cfg!(feature = "extra_check") {
r.unwrap_err();
} else {
r.unwrap();
}
}
}