Add Statement.readonly() accessor

Remove cfg(extra_check) from RawStatement::readonly()
This commit is contained in:
Johnny Graettinger 2023-03-22 21:16:53 +00:00
parent 32752fac77
commit 7c1d5a1863
2 changed files with 14 additions and 1 deletions

View File

@ -197,7 +197,6 @@ impl RawStatement {
}
// does not work for PRAGMA
#[cfg(feature = "extra_check")]
#[inline]
pub fn readonly(&self) -> bool {
unsafe { ffi::sqlite3_stmt_readonly(self.ptr) != 0 }

View File

@ -709,6 +709,12 @@ impl Statement<'_> {
self.stmt.is_explain()
}
/// Returns true if the statement is read only.
#[inline]
pub fn readonly(&self) -> bool {
self.stmt.readonly()
}
#[cfg(feature = "extra_check")]
#[inline]
pub(crate) fn check_no_tail(&self) -> Result<()> {
@ -1324,6 +1330,14 @@ mod test {
Ok(())
}
#[test]
fn readonly() -> Result<()> {
let db = Connection::open_in_memory()?;
let stmt = db.prepare("SELECT 1;")?;
assert!(stmt.readonly());
Ok(())
}
#[test]
#[cfg(feature = "modern_sqlite")] // SQLite >= 3.38.0
fn test_error_offset() -> Result<()> {