From 7f97a0781ebd3309809f67a12bb64f8a3655bc7a Mon Sep 17 00:00:00 2001 From: Sebastian Reichel Date: Thu, 9 May 2013 19:12:31 +0200 Subject: database: add get_users_with_sales --- src/database/database.vala | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/database/database.vala') 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; + } } -- cgit v1.2.3