[rygel] core: Only query parent once
- From: Zeeshan Ali Khattak <zeeshanak src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [rygel] core: Only query parent once
- Date: Wed, 30 Sep 2009 12:14:46 +0000 (UTC)
commit 01756fdde4cfa0d286cf2fd3260c9808b55591c8
Author: Jens Georg <mail jensge org>
Date: Wed Sep 30 13:50:11 2009 +0200
core: Only query parent once
The parent node was queried for each child which was totally useless.
Code now at least twice as fast
src/rygel/rygel-media-db.vala | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
---
diff --git a/src/rygel/rygel-media-db.vala b/src/rygel/rygel-media-db.vala
index 05d9cdf..670c6c1 100644
--- a/src/rygel/rygel-media-db.vala
+++ b/src/rygel/rygel-media-db.vala
@@ -882,8 +882,8 @@ public class Rygel.MediaDB : Object {
long offset,
long max_count) {
Statement statement;
- Gee.ArrayList<MediaObject> children =
- new Gee.ArrayList<MediaObject> ();
+ ArrayList<MediaObject> children = new ArrayList<MediaObject> ();
+ var parent = (MediaContainer) get_object (container_id);
var rc = db.prepare_v2 (GET_CHILDREN_STRING,
-1,
out statement,
@@ -897,11 +897,11 @@ public class Rygel.MediaDB : Object {
while ((rc = statement.step ()) == Sqlite.ROW) {
var child_id = statement.column_text (17);
try {
- var parent = get_object (statement.column_text (18));
- children.add (get_object_from_statement
- ((MediaContainer)parent, child_id, statement));
- children[children.size - 1].parent = (MediaContainer)parent;
- children[children.size - 1].parent_ref = (MediaContainer)parent;
+ children.add (get_object_from_statement (parent,
+ child_id,
+ statement));
+ children[children.size - 1].parent = parent;
+ children[children.size - 1].parent_ref = parent;
} catch (MediaDBError err) {
warning ("Could not get parent object: %s", err.message);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]