mirror of
https://github.com/isar/rusqlite.git
synced 2025-09-16 12:42:18 +08:00
Make StatementCache hold RawStatements instead of Statements.
This commit is contained in:
19
src/lib.rs
19
src/lib.rs
@@ -901,17 +901,6 @@ impl<'conn> Statement<'conn> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[cfg(feature = "cache")]
|
||||
fn clear_bindings(&mut self) {
|
||||
self.stmt.clear_bindings();
|
||||
}
|
||||
|
||||
#[cfg(feature = "cache")]
|
||||
fn eq(&self, sql: &str) -> bool {
|
||||
let c_slice = self.stmt.sql().to_bytes();
|
||||
sql.as_bytes().eq(c_slice)
|
||||
}
|
||||
|
||||
fn finalize_(&mut self) -> Result<()> {
|
||||
let mut stmt = RawStatement::new(ptr::null_mut());
|
||||
mem::swap(&mut stmt, &mut self.stmt);
|
||||
@@ -919,6 +908,14 @@ impl<'conn> Statement<'conn> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<'conn> Into<RawStatement> for Statement<'conn> {
|
||||
fn into(mut self) -> RawStatement {
|
||||
let mut stmt = RawStatement::new(ptr::null_mut());
|
||||
mem::swap(&mut stmt, &mut self.stmt);
|
||||
stmt
|
||||
}
|
||||
}
|
||||
|
||||
impl<'conn> fmt::Debug for Statement<'conn> {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
let sql = str::from_utf8(self.stmt.sql().to_bytes());
|
||||
|
Reference in New Issue
Block a user