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.cc26
1 files changed, 14 insertions, 12 deletions
diff --git a/server/src/pracrodaopgsql.cc b/server/src/pracrodaopgsql.cc
index 774fb0c..c1a0c93 100644
--- a/server/src/pracrodaopgsql.cc
+++ b/server/src/pracrodaopgsql.cc
@@ -108,7 +108,7 @@ void PracroDAOPgsql::commitTransaction(std::string sessionid,
{
DEBUG(db, "commitTransaction (%s, %s, %s, <%u fields>, %ld)\n",
transaction.user.c_str(), transaction.cpr.c_str(),
- _macro.attributes["name"].c_str(),
+ _macro.name.c_str(),
commit.fields.size(), now);
if(!conn) {
@@ -120,8 +120,8 @@ void PracroDAOPgsql::commitTransaction(std::string sessionid,
pqxx::work W(*conn);
- std::string version = _macro.attributes["version"];
- std::string macro = _macro.attributes["name"];
+ std::string version = _macro.version;
+ std::string macro = _macro.name;
std::stringstream timestamp; timestamp << now;
std::string ts;
@@ -245,7 +245,7 @@ Values PracroDAOPgsql::getLatestValues(std::string sessionid,
DEBUG(db, "(%s, %s, <%u fieldnames>, %ld)\n",
patientid.c_str(),
- macro ? macro->attributes["name"].c_str() : "(null)",
+ macro ? macro->name.c_str() : "(null)",
fieldnames.size(), oldest);
std::string query;
@@ -278,16 +278,18 @@ 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' AND t.timestamp >= " + soldest.str() + ") 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 c.patientid = '" + W.esc(patientid) + "' "
+ namecond;
if(macro) {
- query += " AND t.macro = '" + macro->attributes["name"] + "'";
- if(macro->attributes["version"].size() > 0)
- query += " AND t.version = '" + macro->attributes["version"] + "'";
+ query += " AND t.macro = '" + macro->name + "'";
+ if(macro->version != "")
+ query += " AND t.version = '" + macro->version + "'";
}
query += " GROUP BY f.name) xx, "
// End inner query
@@ -301,9 +303,9 @@ Values PracroDAOPgsql::getLatestValues(std::string sessionid,
" AND cc.patientid = '" + W.esc(patientid) + "' "
;
if(macro) {
- query += " AND tt.macro = '" + macro->attributes["name"] + "'";
- if(macro->attributes["version"].size() > 0)
- query += " AND tt.version = '" + macro->attributes["version"] + "'";
+ query += " AND tt.macro = '" + macro->name + "'";
+ if(macro->version != "")
+ query += " AND tt.version = '" + macro->version + "'";
}
DEBUG(sql, "Query: %s\n", query.c_str());