klieo_memory_pgvector/
error.rs1use klieo_core::error::MemoryError;
4use sqlx_core::error::Error as SqlxError;
5
6const UNDEFINED_TABLE: &str = "42P01";
9
10pub(crate) fn store_err(e: SqlxError) -> MemoryError {
11 MemoryError::Store(e.to_string())
12}
13
14pub(crate) fn is_undefined_table(e: &SqlxError) -> bool {
20 matches!(e, SqlxError::Database(db) if db.code().as_deref() == Some(UNDEFINED_TABLE))
21}
22
23#[cfg(test)]
24mod tests {
25 use super::*;
26
27 #[test]
28 fn store_err_routes_to_store_variant() {
29 let mem = store_err(SqlxError::PoolClosed);
30 assert!(matches!(mem, MemoryError::Store(_)));
31 }
32
33 #[test]
34 fn non_database_error_is_not_undefined_table() {
35 assert!(!is_undefined_table(&SqlxError::PoolClosed));
36 }
37}