From a5d78e33085399d04fabeacf8142dbfe55992e7a Mon Sep 17 00:00:00 2001 From: deva Date: Mon, 9 Jun 2008 14:51:41 +0000 Subject: Added check to see if macro already has been committed. For later use with dependency checking. --- server/src/database.cc | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'server/src/database.cc') diff --git a/server/src/database.cc b/server/src/database.cc index 62454a2..35d9214 100644 --- a/server/src/database.cc +++ b/server/src/database.cc @@ -143,6 +143,29 @@ Values Database::getValues(std::string cpr, return values; } +bool Database::checkMacro(std::string cpr, + std::string macro, + time_t oldest) +{ + pqxx::work W(c); + + std::stringstream query; + query << "SELECT oid"; + query << " FROM transactions"; + query << " WHERE cpr = '" << cpr << "'"; + query << " AND macro = '" << macro << "'"; + query << " AND timestamp >= " << oldest; + query << " ORDER BY timestamp"; + + try { + pqxx::result R = W.exec(query.str()); + + return R.size() != 0; + } catch( ... ) { + return false; + } +} + /* -- As root: -- #createuser -P -h localhost -U postgres @@ -160,7 +183,7 @@ DROP TABLE transactions; CREATE TABLE transactions ( "cpr" varchar(11), - "makro" text, + "macro" text, "version" text, "timestamp" bigint, "user" text -- cgit v1.2.3