summaryrefslogtreecommitdiff
path: root/server/src/pracrodaopgsql.cc
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/pracrodaopgsql.cc')
-rw-r--r--server/src/pracrodaopgsql.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/server/src/pracrodaopgsql.cc b/server/src/pracrodaopgsql.cc
index 5a08e3a..c86797d 100644
--- a/server/src/pracrodaopgsql.cc
+++ b/server/src/pracrodaopgsql.cc
@@ -510,6 +510,27 @@ bool PracroDAOPgsql::active(std::string sessionid)
return false;
}
+void PracroDAOPgsql::setActive(std::string sessionid, bool a)
+{
+ std::string ts;
+ try {
+ pqxx::work W(*conn);
+ if(a) {
+ ts = "UPDATE commits SET status='idle' WHERE uid="+sessionid+
+ " AND status='active';";
+ } else {
+ ts = "UPDATE commits SET status='active' WHERE uid="+sessionid+
+ " AND status='idle';";
+ }
+ /*pqxx::result R = */W.exec(ts);
+
+ W.commit();
+ } catch (std::exception &e) {
+ ERR_LOG(db, "setActive failed: %s: %s\n", e.what(), ts.c_str());
+ }
+
+}
+
#endif/*WITHOUT_DB*/
#ifdef TEST_PRACRODAOPGSQL