diff options
author | randomdan <randomdan@localhost> | 2011-02-14 01:14:00 +0000 |
---|---|---|
committer | randomdan <randomdan@localhost> | 2011-02-14 01:14:00 +0000 |
commit | 85d151abd0f607178d4fdec95e61fec30769bfa3 (patch) | |
tree | e5ca97cfbbdb236844e53bb2c40aa0131658ef31 /libpqpp | |
parent | Fixed handling of ?s in string literals (diff) | |
download | libdbpp-postgresql-85d151abd0f607178d4fdec95e61fec30769bfa3.tar.bz2 libdbpp-postgresql-85d151abd0f607178d4fdec95e61fec30769bfa3.tar.xz libdbpp-postgresql-85d151abd0f607178d4fdec95e61fec30769bfa3.zip |
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
Diffstat (limited to 'libpqpp')
-rw-r--r-- | libpqpp/command.cpp | 2 | ||||
-rw-r--r-- | libpqpp/connection.cpp | 12 | ||||
-rw-r--r-- | libpqpp/connection.h | 4 | ||||
-rw-r--r-- | libpqpp/modifycommand.cpp | 6 | ||||
-rw-r--r-- | 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 <stdlib.h> #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) { |