Impossible to execute a pragma in 0.14.0 #400

sqlite3_stmt_readonly does not work for PRAGMA.
This commit is contained in:
gwenn 2018-09-12 22:16:22 +02:00
parent 3c33ec1ab2
commit 70b59f9c2c
2 changed files with 20 additions and 2 deletions

View File

@ -1360,6 +1360,22 @@ mod test {
assert!(bad_query_result.is_err());
}
#[test]
fn test_pragma_query_row() {
let db = checked_memory_handle();
assert_eq!(
"memory",
db.query_row::<String, _>("PRAGMA journal_mode", &[], |r| r.get(0))
.unwrap()
);
assert_eq!(
"off",
db.query_row::<String, _>("PRAGMA journal_mode=off", &[], |r| r.get(0))
.unwrap()
);
}
#[test]
fn test_prepare_failures() {
let db = checked_memory_handle();

View File

@ -516,15 +516,17 @@ impl<'conn> Statement<'conn> {
}
#[cfg(not(feature = "bundled"))]
#[inline]
fn check_readonly(&self) -> Result<()> {
Ok(())
}
#[cfg(feature = "bundled")]
#[inline]
fn check_readonly(&self) -> Result<()> {
if !self.stmt.readonly() {
/*if !self.stmt.readonly() { does not work for PRAGMA
return Err(Error::InvalidQuery);
}
}*/
Ok(())
}