From 85d151abd0f607178d4fdec95e61fec30769bfa3 Mon Sep 17 00:00:00 2001 From: randomdan Date: Mon, 14 Feb 2011 01:14:00 +0000 Subject: Fixes to compile with all gcc warnings as errors Fixes to keep uuid impl choice entirely within uuid class Fix to collect all text in xslRows Error in unhandled compares Add support for no change check in PQ connector Move dumptask in p2console, soon to be removed Fix variable creation code to set type correctly --- libpqpp/command.cpp | 2 +- libpqpp/connection.cpp | 12 ++++++------ libpqpp/connection.h | 4 ++-- libpqpp/modifycommand.cpp | 6 +++++- libpqpp/selectcommand.cpp | 2 +- 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/libpqpp/command.cpp b/libpqpp/command.cpp index a7dd1fd..419d953 100644 --- a/libpqpp/command.cpp +++ b/libpqpp/command.cpp @@ -48,7 +48,7 @@ PQ::Command::prepare() const } } c->checkResultFree(PQprepare( - c->conn, stmntName.c_str(), psql.c_str(), values.size(), NULL), PGRES_COMMAND_OK, __PRETTY_FUNCTION__); + c->conn, stmntName.c_str(), psql.c_str(), values.size(), NULL), PGRES_COMMAND_OK); prepared = true; } } diff --git a/libpqpp/connection.cpp b/libpqpp/connection.cpp index 1805ff7..ef8e72d 100644 --- a/libpqpp/connection.cpp +++ b/libpqpp/connection.cpp @@ -4,7 +4,7 @@ #include "modifycommand.h" static void -noNoticeProcessor(void * arg, const char * message) +noNoticeProcessor(void *, const char *) { } @@ -28,7 +28,7 @@ int PQ::Connection::beginTx() const { if (txDepth == 0) { - checkResultFree(PQexec(conn, "BEGIN"), PGRES_COMMAND_OK, __PRETTY_FUNCTION__); + checkResultFree(PQexec(conn, "BEGIN"), PGRES_COMMAND_OK); } return ++txDepth; } @@ -37,7 +37,7 @@ int PQ::Connection::commitTx() const { if (--txDepth == 0) { - checkResultFree(PQexec(conn, "COMMIT"), PGRES_COMMAND_OK, __PRETTY_FUNCTION__); + checkResultFree(PQexec(conn, "COMMIT"), PGRES_COMMAND_OK); } return txDepth; } @@ -46,7 +46,7 @@ int PQ::Connection::rollbackTx() const { if (--txDepth == 0) { - checkResultFree(PQexec(conn, "ROLLBACK"), PGRES_COMMAND_OK, __PRETTY_FUNCTION__); + checkResultFree(PQexec(conn, "ROLLBACK"), PGRES_COMMAND_OK); } return txDepth; } @@ -94,7 +94,7 @@ PQ::Connection::checkResultInt(PGresult * res, int expected) } void -PQ::Connection::checkResult(PGresult * res, int expected, const char * doing) const +PQ::Connection::checkResult(PGresult * res, int expected) const { if (!checkResultInt(res, expected)) { PQclear(res); @@ -103,7 +103,7 @@ PQ::Connection::checkResult(PGresult * res, int expected, const char * doing) co } void -PQ::Connection::checkResultFree(PGresult * res, int expected, const char * doing) const +PQ::Connection::checkResultFree(PGresult * res, int expected) const { if (!checkResultInt(res, expected)) { PQclear(res); diff --git a/libpqpp/connection.h b/libpqpp/connection.h index 8dafe84..4b9b28e 100644 --- a/libpqpp/connection.h +++ b/libpqpp/connection.h @@ -21,8 +21,8 @@ namespace PQ { DB::SelectCommand * newSelectCommand(const std::string & sql) const; DB::ModifyCommand * newModifyCommand(const std::string & sql) const; - void checkResult(PGresult * res, int expected, const char * doing) const; - void checkResultFree(PGresult * res, int expected, const char * doing) const; + void checkResult(PGresult * res, int expected) const; + void checkResultFree(PGresult * res, int expected) const; PGconn * conn; diff --git a/libpqpp/modifycommand.cpp b/libpqpp/modifycommand.cpp index 14bfb16..ae7abeb 100644 --- a/libpqpp/modifycommand.cpp +++ b/libpqpp/modifycommand.cpp @@ -1,4 +1,5 @@ #include "modifycommand.h" +#include "error.h" #include #include "connection.h" @@ -18,9 +19,12 @@ PQ::ModifyCommand::execute(bool anc) { prepare(); PGresult * res = PQexecPrepared(c->conn, stmntName.c_str(), values.size(), &values.front(), &lengths.front(), &formats.front(), 0); - c->checkResult(res, PGRES_COMMAND_OK, __PRETTY_FUNCTION__); + c->checkResult(res, PGRES_COMMAND_OK); unsigned int rows = atoi(PQcmdTuples(res)); PQclear(res); + if (rows == 0 && !anc) { + throw Error("No rows affected"); + } return rows; } diff --git a/libpqpp/selectcommand.cpp b/libpqpp/selectcommand.cpp index 603cffd..6ed0d5a 100644 --- a/libpqpp/selectcommand.cpp +++ b/libpqpp/selectcommand.cpp @@ -30,7 +30,7 @@ PQ::SelectCommand::execute() if (!executed) { prepare(); execRes = PQexecPrepared(c->conn, stmntName.c_str(), values.size(), &values.front(), &lengths.front(), &formats.front(), 0); - c->checkResult(execRes, PGRES_TUPLES_OK, __PRETTY_FUNCTION__); + c->checkResult(execRes, PGRES_TUPLES_OK); unsigned int nFields = PQnfields(execRes); fields.resize(nFields); for (unsigned int f = 0; f < nFields; f += 1) { -- cgit v1.2.3