diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2023-10-08 16:58:13 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2023-10-08 16:58:13 +0100 |
commit | 78d8eeadcf6642eb52b3b178d6da620b0bb34289 (patch) | |
tree | 4777a94e6438b79e146754c58ad81a7b6d2a4118 /libpqpp/pq-modifycommand.cpp | |
parent | Fix virtual/override attribute use (diff) | |
download | libdbpp-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.cpp | 9 |
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(); } |