sqlez

Piotr Osiewicz created

Change summary

crates/sqlez/src/migrations.rs             | 8 ++++----
crates/sqlez/src/statement.rs              | 4 ++--
crates/sqlez/src/thread_safe_connection.rs | 6 +++---
3 files changed, 9 insertions(+), 9 deletions(-)

Detailed changes

crates/sqlez/src/migrations.rs 🔗

@@ -20,8 +20,8 @@ impl Connection {
                 self.sqlite3,
                 sql_str.as_c_str().as_ptr(),
                 None,
-                0 as *mut _,
-                0 as *mut _,
+                std::ptr::null_mut(),
+                std::ptr::null_mut(),
             );
         }
         self.last_error()
@@ -59,10 +59,10 @@ impl Connection {
                     if completed_migration != migration {
                         return Err(anyhow!(formatdoc! {"
                             Migration changed for {} at step {}
-                            
+
                             Stored migration:
                             {}
-                            
+
                             Proposed migration:
                             {}", domain, index, completed_migration, migration}));
                     } else {

crates/sqlez/src/statement.rs 🔗

@@ -232,13 +232,13 @@ impl<'a> Statement<'a> {
             .last_error()
             .with_context(|| format!("Failed to read text length at {index}"))?;
 
-        let slice = unsafe { slice::from_raw_parts(pointer as *const u8, len) };
+        let slice = unsafe { slice::from_raw_parts(pointer, len) };
         Ok(str::from_utf8(slice)?)
     }
 
     pub fn bind<T: Bind>(&self, value: &T, index: i32) -> Result<i32> {
         debug_assert!(index > 0);
-        Ok(value.bind(self, index)?)
+        value.bind(self, index)
     }
 
     pub fn column<T: Column>(&mut self) -> Result<T> {

crates/sqlez/src/thread_safe_connection.rs 🔗

@@ -10,14 +10,14 @@ use crate::{connection::Connection, domain::Migrator, util::UnboundedSyncSender}
 const MIGRATION_RETRIES: usize = 10;
 
 type QueuedWrite = Box<dyn 'static + Send + FnOnce()>;
-type WriteQueueConstructor =
-    Box<dyn 'static + Send + FnMut() -> Box<dyn 'static + Send + Sync + Fn(QueuedWrite)>>;
+type WriteQueue = Box<dyn 'static + Send + Sync + Fn(QueuedWrite)>;
+type WriteQueueConstructor = Box<dyn 'static + Send + FnMut() -> WriteQueue>;
 lazy_static! {
     /// List of queues of tasks by database uri. This lets us serialize writes to the database
     /// and have a single worker thread per db file. This means many thread safe connections
     /// (possibly with different migrations) could all be communicating with the same background
     /// thread.
-    static ref QUEUES: RwLock<HashMap<Arc<str>, Box<dyn 'static + Send + Sync + Fn(QueuedWrite)>>> =
+    static ref QUEUES: RwLock<HashMap<Arc<str>, WriteQueue>> =
         Default::default();
 }