[rygel] core: add function to query child count from database
- From: Zeeshan Ali Khattak <zeeshanak src gnome org>
- To: svn-commits-list gnome org
- Subject: [rygel] core: add function to query child count from database
- Date: Thu, 25 Jun 2009 15:46:50 +0000 (UTC)
commit e6a72f5f88b50c9cdd0dcc3d05709c78c86fb211
Author: Jens Georg <mail jensge org>
Date: Sun Jun 21 02:08:01 2009 +0200
core: add function to query child count from database
src/rygel/rygel-media-db.vala | 25 +++++++++++++++++++++++++
1 files changed, 25 insertions(+), 0 deletions(-)
---
diff --git a/src/rygel/rygel-media-db.vala b/src/rygel/rygel-media-db.vala
index 61bcf43..7be100a 100644
--- a/src/rygel/rygel-media-db.vala
+++ b/src/rygel/rygel-media-db.vala
@@ -115,6 +115,9 @@ public class Rygel.MediaDB : Object {
private const string OBJECT_GET_URIS =
"SELECT uri FROM Uri WHERE Uri.object_fk = ?";
+ private const string CHILDREN_COUNT_STRING =
+ "SELECT count(upnp_id) from Object where Object.parent = ?";
+
private void open_db (string name) {
var rc = Database.open (name, out this.db);
if (rc != Sqlite.OK) {
@@ -429,6 +432,28 @@ public class Rygel.MediaDB : Object {
item.color_depth = statement.column_int (15);
}
+ public int get_child_count (string object_id) {
+ Statement statement;
+ int count = 0;
+ var rc = db.prepare_v2 (CHILDREN_COUNT_STRING,
+ -1,
+ out statement,
+ null);
+ if (rc == Sqlite.OK) {
+ statement.bind_text (1, object_id);
+ while ((rc = statement.step ()) == Sqlite.ROW) {
+ count = statement.column_int (0);
+ break;
+ }
+ } else {
+ warning ("Could not get child count for object %s: %s",
+ object_id,
+ db.errmsg ());
+ }
+
+ return count;
+ }
+
public Gee.ArrayList<MediaObject> get_children (string object_id,
uint offset,
uint max_count) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]