diff options
Diffstat (limited to 'sca-cpp/trunk/components/sqldb/pgsql.hpp')
-rw-r--r-- | sca-cpp/trunk/components/sqldb/pgsql.hpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sca-cpp/trunk/components/sqldb/pgsql.hpp b/sca-cpp/trunk/components/sqldb/pgsql.hpp index b6b2cab331..08e8a44123 100644 --- a/sca-cpp/trunk/components/sqldb/pgsql.hpp +++ b/sca-cpp/trunk/components/sqldb/pgsql.hpp @@ -162,8 +162,19 @@ const failable<bool> put(const value& key, const value& val, const PGSql& pgsql) PGresult* r = PQexecPrepared(pgsql.conn, "put", 2, params, NULL, NULL, 0); if (PQresultStatus(r) != PGRES_COMMAND_OK) return mkfailure<bool>(string("Could not execute put SQL statement: ") + pgfailure(r)); + const string t = PQcmdTuples(r); + if (t != "0") { + PQclear(r); + debug(true, "pgsql::put::result"); + return true; + } PQclear(r); + PGresult* pr = PQexecPrepared(pgsql.conn, "post", 2, params, NULL, NULL, 0); + if (PQresultStatus(pr) != PGRES_COMMAND_OK) + return mkfailure<bool>(string("Could not execute post SQL statement: ") + pgfailure(pr)); + PQclear(pr); + debug(true, "pgsql::put::result"); return true; } |