From 6bae4fd17d2660d53279dac9287de52be2a00c6c Mon Sep 17 00:00:00 2001 From: deva Date: Fri, 4 Feb 2011 13:34:40 +0000 Subject: Database pool is now used instead of one connection per session. Admin interface supports session unlock. --- server/src/pracrodaopgsql.cc | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'server/src/pracrodaopgsql.cc') 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 -- cgit v1.2.3