Prune oldest error patterns when count exceeds max.
(&self, max: usize)
| 1982 | |
| 1983 | /// Prune oldest error patterns when count exceeds max. |
| 1984 | pub fn prune_error_patterns(&self, max: usize) -> Result<()> { |
| 1985 | self.conn.execute( |
| 1986 | "DELETE FROM error_patterns WHERE id IN ( |
| 1987 | SELECT id FROM error_patterns ORDER BY last_seen ASC |
| 1988 | LIMIT MAX(0, (SELECT COUNT(*) FROM error_patterns) - ?1) |
| 1989 | )", |
| 1990 | rusqlite::params![max as i64], |
| 1991 | )?; |
| 1992 | Ok(()) |
| 1993 | } |
| 1994 | |
| 1995 | /// List all error patterns ordered by hit_count desc. |
| 1996 | pub fn list_error_patterns(&self, limit: usize) -> Result<Vec<engine::ErrorPattern>> { |