summaryrefslogtreecommitdiff
path: root/libpqpp/pq-modifycommand.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2023-10-08 16:58:13 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2023-10-08 16:58:13 +0100
commit78d8eeadcf6642eb52b3b178d6da620b0bb34289 (patch)
tree4777a94e6438b79e146754c58ad81a7b6d2a4118 /libpqpp/pq-modifycommand.cpp
parentFix virtual/override attribute use (diff)
downloadlibdbpp-postgresql-78d8eeadcf6642eb52b3b178d6da620b0bb34289.tar.bz2
libdbpp-postgresql-78d8eeadcf6642eb52b3b178d6da620b0bb34289.tar.xz
libdbpp-postgresql-78d8eeadcf6642eb52b3b178d6da620b0bb34289.zip
Use unique_ptr for execution results
Diffstat (limited to 'libpqpp/pq-modifycommand.cpp')
-rw-r--r--libpqpp/pq-modifycommand.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/libpqpp/pq-modifycommand.cpp b/libpqpp/pq-modifycommand.cpp
index b29fda7..53c3231 100644
--- a/libpqpp/pq-modifycommand.cpp
+++ b/libpqpp/pq-modifycommand.cpp
@@ -15,11 +15,10 @@ PQ::ModifyCommand::ModifyCommand(Connection * conn, const std::string & sql, con
unsigned int
PQ::ModifyCommand::execute(bool anc)
{
- PGresult * res = PQexecPrepared(
- c->conn, prepare(), static_cast<int>(values.size()), values.data(), lengths.data(), formats.data(), 0);
- c->checkResult(res, PGRES_COMMAND_OK, PGRES_TUPLES_OK);
- auto rows = atoi(PQcmdTuples(res));
- PQclear(res);
+ const auto res = c->checkResult(PQexecPrepared(c->conn, prepare(), static_cast<int>(values.size()), values.data(),
+ lengths.data(), formats.data(), 0),
+ PGRES_COMMAND_OK, PGRES_TUPLES_OK);
+ auto rows = atoi(PQcmdTuples(res.get()));
if (rows == 0 && !anc) {
throw DB::NoRowsAffected();
}