added new memeber SqlState to PostgreSQLException and made use of it. (#4099)

* added new memeber SqlState to PostgreSQLException and made use of it in StatementExecutor

* Added test case testSqlState

* fixed nameing convention errors. fixed bug in PostgreSQLException::PostgreSQLException regarding null termination of _sqlState data member
This commit is contained in:
omerbrandis
2023-10-20 18:44:04 +03:00
committed by GitHub
parent 542b814f27
commit 3793c0a515
5 changed files with 77 additions and 7 deletions

View File

@@ -13,7 +13,7 @@
#include "Poco/Data/PostgreSQL/PostgreSQLException.h"
#include <cstring>
namespace Poco {
namespace Data {
@@ -25,6 +25,19 @@ PostgreSQLException::PostgreSQLException(const std::string& aMessage):
{
}
PostgreSQLException::PostgreSQLException(const std::string& aMessage,const char* pAnSqlState):
Poco::Data::DataException(std::string("[PostgreSQL]: ") + aMessage)
{
// handle anSqlState
if (pAnSqlState == nullptr) _sqlState[0] = '\0';
else
{
strncpy(_sqlState,pAnSqlState,5);
_sqlState[5] = '\0';
}
}
PostgreSQLException::PostgreSQLException(const PostgreSQLException& anException):
Poco::Data::DataException(anException)
@@ -68,5 +81,12 @@ StatementException::StatementException(const std::string& aMessage):
{
}
StatementException::StatementException(const std::string& aMessage,const char* pAnSqlState):
PostgreSQLException(aMessage,pAnSqlState)
{
}
} } } // namespace Poco::Data::PostgreSQL