summaryrefslogtreecommitdiffstats
path: root/src/database/database.vala
diff options
context:
space:
mode:
authorSebastian Reichel <sre@ring0.de>2013-05-09 19:12:31 +0200
committerSebastian Reichel <sre@ring0.de>2013-05-09 19:12:31 +0200
commit7f97a0781ebd3309809f67a12bb64f8a3655bc7a (patch)
tree9eda1c8be6a7cf3026e6acaa434585820787d42c /src/database/database.vala
parent145c5300260a69b208b4539a1bbd1bbbb1bf46f6 (diff)
downloadserial-barcode-scanner-7f97a0781ebd3309809f67a12bb64f8a3655bc7a.tar.bz2
database: add get_users_with_sales
Diffstat (limited to 'src/database/database.vala')
-rw-r--r--src/database/database.vala14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/database/database.vala b/src/database/database.vala
index 31b0ad4..28abb00 100644
--- a/src/database/database.vala
+++ b/src/database/database.vala
@@ -121,6 +121,7 @@ public class DataBase : Object {
queries["supplier_list"] = "SELECT id, name, postal_code, city, street, phone, website FROM supplier";
queries["supplier_get"] = "SELECT id, name, postal_code, city, street, phone, website FROM supplier WHERE id = ?";
queries["supplier_add"] = "INSERT INTO supplier('name', 'postal_code', 'city', 'street', 'phone', 'website') VALUES (?, ?, ?, ?, ?, ?)";
+ queries["users_with_sales"] = "SELECT user FROM sales WHERE timestamp > ? AND timestamp < ? GROUP BY user;";
/* compile queries into statements */
foreach(var entry in queries.entries) {
@@ -838,4 +839,17 @@ public class DataBase : Object {
throw new DatabaseError.INTERNAL_ERROR("internal error: %d", rc);
}
}
+
+ public int[] get_users_with_sales(int64 timestamp_from, int64 timestamp_to) {
+ var result = new int[0];
+ statements["users_with_sales"].reset();
+ statements["users_with_sales"].bind_int64(1, timestamp_from);
+ statements["users_with_sales"].bind_int64(2, timestamp_to);
+
+ while(statements["users_with_sales"].step() == Sqlite.ROW) {
+ result += statements["users_with_sales"].column_int(0);
+ }
+
+ return result;
+ }
}