Cache metadata for a query
(&self, query: String, metadata: StatementMetadata)
| 175 | |
| 176 | /// Cache metadata for a query |
| 177 | fn cache_metadata(&self, query: String, metadata: StatementMetadata) { |
| 178 | if let Ok(mut statements) = self.statements.lock() { |
| 179 | // Evict old entries if we're at capacity |
| 180 | if statements.len() >= self.max_size { |
| 181 | self.evict_oldest(&mut statements); |
| 182 | } |
| 183 | |
| 184 | statements.insert(query.clone(), CachedStatement { |
| 185 | metadata, |
| 186 | last_used: std::time::Instant::now(), |
| 187 | }); |
| 188 | } |
| 189 | } |
| 190 | |
| 191 | /// Extract metadata from a prepared statement |
| 192 | fn extract_metadata(&self, stmt: &Statement, query: &str) -> Result<StatementMetadata, rusqlite::Error> { |
no test coverage detected