diff options
Diffstat (limited to 'server/src')
| -rw-r--r-- | server/src/pracrodaopgsql.cc | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/server/src/pracrodaopgsql.cc b/server/src/pracrodaopgsql.cc index d3ae8df..774fb0c 100644 --- a/server/src/pracrodaopgsql.cc +++ b/server/src/pracrodaopgsql.cc @@ -278,9 +278,10 @@ Values PracroDAOPgsql::getLatestValues(std::string sessionid,        " (SELECT f.name, MAX(t.timestamp) AS ts "        "   FROM commits c, fields f, transactions t "        "   WHERE "; -    if(!uncom) query += "(c.status='committed' OR c.uid="+sessionid+") AND "; +    //if(!uncom) query += "(c.status='committed' OR c.uid="+sessionid+") AND "; +    if(!uncom) query += "((c.status='committed' AND t.timestamp >= " + soldest.str() + ") OR c.uid="+sessionid+") AND ";      query += "c.uid = t.cid AND t.uid = f.transaction" -      " AND t.timestamp >= " + soldest.str() + +      // " AND t.timestamp >= " + soldest.str() +        " AND c.patientid = '" + W.esc(patientid) + "' "        + namecond;      if(macro) { @@ -341,9 +342,10 @@ unsigned PracroDAOPgsql::nrOfCommits(std::string sessionid,      pqxx::work W(*conn);      query = "SELECT count(*) FROM commits c, transactions f"        " WHERE c.patientid = '" + W.esc(patientid) + "' AND c.uid = f.cid"; -    if(!uncom) query += " AND (c.status='committed' OR c.uid="+sessionid+")"; +    //if(!uncom) query += " AND (c.status='committed' OR c.uid="+sessionid+")"; +    if(!uncom) query += " AND ((c.status='committed' AND f.timestamp >= " + soldest.str() + ") OR c.uid="+sessionid+")";      query += " AND f.macro = '" + W.esc(macroname) + "' " -      " AND f.timestamp >= " + soldest.str() +      //" AND f.timestamp >= " + soldest.str()        ;      DEBUG(sql, "Query: %s\n", query.c_str());      pqxx::result R = W.exec(query);  | 
