better error dropping

This commit is contained in:
2026-03-16 19:39:24 -04:00
parent 507dc6d780
commit d8fc286e94
6 changed files with 51 additions and 11 deletions

View File

@ -32,9 +32,12 @@ impl Queryer {
Err(msg) => {
return crate::drop::Drop::with_errors(vec![crate::drop::Error {
code: "FILTER_PARSE_FAILED".to_string(),
message: msg,
message: msg.clone(),
details: crate::drop::ErrorDetails {
path: schema_id.to_string(),
path: "".to_string(), // filters apply to the root query
cause: Some(msg),
context: filters.map(|f| vec![f.to_string()]),
schema: Some(schema_id.to_string()),
},
}]);
}
@ -104,9 +107,12 @@ impl Queryer {
}
Err(e) => Err(crate::drop::Drop::with_errors(vec![crate::drop::Error {
code: "QUERY_COMPILATION_FAILED".to_string(),
message: e,
message: e.clone(),
details: crate::drop::ErrorDetails {
path: schema_id.to_string(),
path: "".to_string(),
cause: Some(e),
context: None,
schema: Some(schema_id.to_string()),
},
}])),
}
@ -130,14 +136,20 @@ impl Queryer {
code: "QUERY_FAILED".to_string(),
message: format!("Expected array from generic query, got: {:?}", other),
details: crate::drop::ErrorDetails {
path: schema_id.to_string(),
path: "".to_string(),
cause: Some(format!("Expected array, got {}", other)),
context: Some(vec![sql.to_string()]),
schema: Some(schema_id.to_string()),
},
}]),
Err(e) => crate::drop::Drop::with_errors(vec![crate::drop::Error {
code: "QUERY_FAILED".to_string(),
message: format!("SPI error in queryer: {}", e),
details: crate::drop::ErrorDetails {
path: schema_id.to_string(),
path: "".to_string(),
cause: Some(format!("SPI error in queryer: {}", e)),
context: Some(vec![sql.to_string()]),
schema: Some(schema_id.to_string()),
},
}]),
}