From b967119ad5aee9e8c16b91277b3427a5891c8259 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Delaporte?= <12201973+fredericDelaporte@users.noreply.github.com> Date: Sun, 12 May 2024 17:15:58 +0200 Subject: [PATCH] Upgrade Npgsql to a non vulnerable version (#3545) Co-authored-by: Alex Zaytsev --- .../PostgresExceptionConverterExample.cs | 16 ++++++++-------- src/NHibernate.Test/NHibernate.Test.csproj | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/NHibernate.Test/ExceptionsTest/PostgresExceptionConverterExample.cs b/src/NHibernate.Test/ExceptionsTest/PostgresExceptionConverterExample.cs index e4142c32f7f..ee794f0b9de 100644 --- a/src/NHibernate.Test/ExceptionsTest/PostgresExceptionConverterExample.cs +++ b/src/NHibernate.Test/ExceptionsTest/PostgresExceptionConverterExample.cs @@ -1,6 +1,6 @@ using System; -using System.Data.Common; using NHibernate.Exceptions; +using Npgsql; namespace NHibernate.Test.ExceptionsTest { @@ -10,23 +10,23 @@ public class PostgresExceptionConverterExample : ISQLExceptionConverter public Exception Convert(AdoExceptionContextInfo exInfo) { - var sqle = ADOExceptionHelper.ExtractDbException(exInfo.SqlException) as DbException; - if (sqle != null) + if (ADOExceptionHelper.ExtractDbException(exInfo.SqlException) is PostgresException pge) { - string code = (string)sqle.GetType().GetProperty("Code").GetValue(sqle, null); - + string code = pge.SqlState; if (code == "23503") { - return new ConstraintViolationException(exInfo.Message, sqle.InnerException, exInfo.Sql, null); + return new ConstraintViolationException(exInfo.Message, pge.InnerException, exInfo.Sql, null); } + if (code == "42P01") { - return new SQLGrammarException(exInfo.Message, sqle.InnerException, exInfo.Sql); + return new SQLGrammarException(exInfo.Message, pge.InnerException, exInfo.Sql); } } + return SQLStateConverter.HandledNonSpecificException(exInfo.SqlException, exInfo.Message, exInfo.Sql); } #endregion } -} \ No newline at end of file +} diff --git a/src/NHibernate.Test/NHibernate.Test.csproj b/src/NHibernate.Test/NHibernate.Test.csproj index e5e553f5b30..3b2b0dab83b 100644 --- a/src/NHibernate.Test/NHibernate.Test.csproj +++ b/src/NHibernate.Test/NHibernate.Test.csproj @@ -66,7 +66,7 @@ - +