summaryrefslogtreecommitdiff
path: root/server/src/database.cc
diff options
context:
space:
mode:
authordeva <deva>2008-06-09 14:51:41 +0000
committerdeva <deva>2008-06-09 14:51:41 +0000
commita5d78e33085399d04fabeacf8142dbfe55992e7a (patch)
treecba98916959d21126411a32ad0f84a918b3f387b /server/src/database.cc
parent95c75f805ec5f22f5e876dc3fddf8a72d6afd014 (diff)
Added check to see if macro already has been committed. For later use with dependency checking.
Diffstat (limited to 'server/src/database.cc')
-rw-r--r--server/src/database.cc25
1 files changed, 24 insertions, 1 deletions
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