Cache a new query plan
(&self, cache_key: String, plan: CachedQueryPlan)
| 203 | |
| 204 | /// Cache a new query plan |
| 205 | fn cache_query_plan(&self, cache_key: String, plan: CachedQueryPlan) { |
| 206 | let mut plans = self.query_plans.write().unwrap(); |
| 207 | |
| 208 | // Check if we need to evict entries |
| 209 | if plans.len() >= self.max_cache_size { |
| 210 | self.evict_least_valuable_plan(&mut plans); |
| 211 | } |
| 212 | |
| 213 | plans.insert(cache_key, plan); |
| 214 | } |
| 215 | |
| 216 | /// Evict the least valuable cached plan |
| 217 | fn evict_least_valuable_plan(&self, plans: &mut HashMap<String, CachedQueryPlan>) { |
no test coverage detected