diff options
Diffstat (limited to 'server/src/pracrodaopgsql.cc')
-rw-r--r-- | server/src/pracrodaopgsql.cc | 21 |
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 |