It can handle now complex selections and reports back errors encountered when removing the rows fails.
54 lines
986 B
C++
54 lines
986 B
C++
#include "Pgsql_PgException.h"
|
|
|
|
namespace Pgsql {
|
|
|
|
ResultCode::ResultCode(std::string result_code)
|
|
: m_resultCode(std::move(result_code))
|
|
{
|
|
assert(m_resultCode.length() == 5);
|
|
}
|
|
|
|
std::string ResultCode::getClass() const
|
|
{
|
|
return m_resultCode.substr(1,2);
|
|
}
|
|
|
|
/** Helper to easily check the class of the error
|
|
*
|
|
*/
|
|
bool ResultCode::isClass(const std::string_view cls)
|
|
{
|
|
return m_resultCode.compare(1, 2, cls);
|
|
}
|
|
|
|
const std::string& ResultCode::getSpecific() const
|
|
{
|
|
return m_resultCode;
|
|
}
|
|
|
|
|
|
PgException::PgException(const char *msg)
|
|
: std::runtime_error(msg)
|
|
{}
|
|
|
|
PgException::PgException(std::string msg)
|
|
: std::runtime_error(msg)
|
|
{}
|
|
|
|
|
|
PgResultError::PgResultError(const Pgsql::ErrorDetails &details)
|
|
: PgException(details.errorMessage)
|
|
, m_details(details)
|
|
{}
|
|
|
|
ResultCode PgResultError::getResultCode() const
|
|
{
|
|
return ResultCode(m_details.state);
|
|
}
|
|
|
|
const Pgsql::ErrorDetails& PgResultError::details() const
|
|
{
|
|
return m_details;
|
|
}
|
|
|
|
}
|