From 23f39df8b8edeacfa5821050abbdc855acb2edd6 Mon Sep 17 00:00:00 2001 From: deva Date: Fri, 1 Jul 2011 11:54:26 +0000 Subject: removed macrotool. add lua wrapper for praxisd. new type attributes_t for sax parser and children. make macros/templates use real vars instead of var map. add data ttl on macro level. add 'important' attribute to macrotags in templates. --- server/src/pracrodaopgsql.cc | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) (limited to 'server/src/pracrodaopgsql.cc') 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()); -- cgit v1.2.3