From fb4c470a9a151dfda950f03cdec470d008f3c86c Mon Sep 17 00:00:00 2001 From: Cesar Rodas Date: Fri, 25 Jul 2025 21:36:50 -0300 Subject: [PATCH] Rename `still_active` to `stale` --- crates/cdk-sql-common/src/pool.rs | 19 +++++++++++-------- crates/cdk-sqlite/src/common.rs | 2 +- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/crates/cdk-sql-common/src/pool.rs b/crates/cdk-sql-common/src/pool.rs index cbeadd7c..6f8561e6 100644 --- a/crates/cdk-sql-common/src/pool.rs +++ b/crates/cdk-sql-common/src/pool.rs @@ -35,10 +35,13 @@ pub trait ResourceManager: Debug { /// The error the resource may return when creating a new instance type Error: Debug; - /// Creates a new resource with a given config + /// Creates a new resource with a given config. + /// + /// If `stale` is every set to TRUE it is assumed the resource is no longer valid and it will be + /// dropped. fn new_resource( config: &Self::Config, - still_valid: Arc, + stale: Arc, timeout: Duration, ) -> Result>; @@ -139,13 +142,13 @@ where let mut resources = self.queue.lock().map_err(|_| Error::Poison)?; loop { - if let Some(resource) = resources.pop() { - if resource.0.load(Ordering::SeqCst) { + if let Some((stale, resource)) = resources.pop() { + if !stale.load(Ordering::SeqCst) { drop(resources); self.in_use.fetch_add(1, Ordering::AcqRel); return Ok(PooledResource { - resource: Some(resource), + resource: Some((stale, resource)), pool: self.clone(), }); } @@ -154,12 +157,12 @@ where if self.in_use.load(Ordering::Relaxed) < self.max_size { drop(resources); self.in_use.fetch_add(1, Ordering::AcqRel); - let still_valid: Arc = Arc::new(true.into()); + let stale: Arc = Arc::new(false.into()); return Ok(PooledResource { resource: Some(( - still_valid.clone(), - RM::new_resource(&self.config, still_valid, timeout)?, + stale.clone(), + RM::new_resource(&self.config, stale, timeout)?, )), pool: self.clone(), }); diff --git a/crates/cdk-sqlite/src/common.rs b/crates/cdk-sqlite/src/common.rs index bdde9bf3..e0ea6f9e 100644 --- a/crates/cdk-sqlite/src/common.rs +++ b/crates/cdk-sqlite/src/common.rs @@ -26,7 +26,7 @@ impl ResourceManager for SqliteConnectionManager { fn new_resource( config: &Self::Config, - _still_valid: Arc, + _stale: Arc, _timeout: Duration, ) -> Result> { let conn = if let Some(path) = config.path.as_ref() {