From 275a7e7148439f05476ef904c04787e5f524a04f Mon Sep 17 00:00:00 2001 From: Florian Goessler Date: Fri, 24 Jan 2025 10:42:53 +0100 Subject: [PATCH] fix(error handling): ORM-439 map query error to user facing error so it propagates correctly --- libs/user-facing-errors/src/query_engine/mod.rs | 8 ++++++++ query-engine/connectors/query-connector/src/error.rs | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/libs/user-facing-errors/src/query_engine/mod.rs b/libs/user-facing-errors/src/query_engine/mod.rs index a09a8563621f..44e81b909921 100644 --- a/libs/user-facing-errors/src/query_engine/mod.rs +++ b/libs/user-facing-errors/src/query_engine/mod.rs @@ -336,3 +336,11 @@ pub struct ExternalError { pub struct TooManyConnections { pub message: String, } + +// Note: Error code "P2038" is reserved for ClientEngine specific errors. + +#[derive(Debug, UserFacingError, Serialize)] +#[user_facing(code = "P2039", message = "Query Error: {message}")] +pub struct QueryError { + pub message: String, +} diff --git a/query-engine/connectors/query-connector/src/error.rs b/query-engine/connectors/query-connector/src/error.rs index 6e6e37b1d16e..f412f33f842c 100644 --- a/query-engine/connectors/query-connector/src/error.rs +++ b/query-engine/connectors/query-connector/src/error.rs @@ -125,6 +125,11 @@ impl ConnectorError { message: format!("{}", e), }, )), + + ErrorKind::QueryError(e) => Some(KnownError::new(user_facing_errors::query_engine::QueryError { + message: format!("{}", e), + })), + _ => None, };