From 87768fd5774954309aff9a5cd31aa729870b6eec Mon Sep 17 00:00:00 2001 From: Peter Clement Date: Wed, 28 Jun 2023 09:28:40 +0100 Subject: [PATCH] update error messages: --- .../server/src/integrations/base/errorMapping.ts | 15 +++++++++++++-- .../server/src/integrations/microsoftSqlServer.ts | 2 +- packages/server/src/integrations/postgres.ts | 2 +- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/packages/server/src/integrations/base/errorMapping.ts b/packages/server/src/integrations/base/errorMapping.ts index 38e9ee3c39..592d368cc0 100644 --- a/packages/server/src/integrations/base/errorMapping.ts +++ b/packages/server/src/integrations/base/errorMapping.ts @@ -5,9 +5,20 @@ const mysqlErrorMessages: Record = { 1049: "The specified database does not exist. Please verify that the database name is correct.", } -const postgresErrorMessages: Record = {} +const postgresErrorMessages: Record = { + "23505": "Duplicate key value violates unique constraint.", + "23502": "Null value not allowed for a column.", + "23503": "Foreign key violation.", + "23514": "Check constraint violation.", + "42703": "Undefined column.", + "42P01": "Undefined table.", +} -const sqlServerErrorMessages: Record = {} +const sqlServerErrorMessages: Record = { + 547: "The INSERT statement conflicted with the FOREIGN KEY constraint.", + 2601: "Cannot insert duplicate key row in object.", + 515: "Cannot insert the value NULL into column.", +} export const getReadableErrorMessage = (type: string, errno: number) => { switch (type) { diff --git a/packages/server/src/integrations/microsoftSqlServer.ts b/packages/server/src/integrations/microsoftSqlServer.ts index ee3cbc9970..99c1454965 100644 --- a/packages/server/src/integrations/microsoftSqlServer.ts +++ b/packages/server/src/integrations/microsoftSqlServer.ts @@ -182,7 +182,7 @@ class SqlServerIntegration extends Sql implements DatasourcePlus { } catch (err: any) { let readableMessage = getReadableErrorMessage( SourceName.SQL_SERVER, - err.errno + err.number ) if (readableMessage) { throw new Error(readableMessage) diff --git a/packages/server/src/integrations/postgres.ts b/packages/server/src/integrations/postgres.ts index e45eaa7b63..ae82ec9c9b 100644 --- a/packages/server/src/integrations/postgres.ts +++ b/packages/server/src/integrations/postgres.ts @@ -247,7 +247,7 @@ class PostgresIntegration extends Sql implements DatasourcePlus { await this.closeConnection() let readableMessage = getReadableErrorMessage( SourceName.POSTGRES, - err.errno + err.code ) if (readableMessage) { throw new Error(readableMessage)