[tracker/cursor: 17/19] Using a cursor for adding super classes and super properties
- From: Philip Van Hoof <pvanhoof src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [tracker/cursor: 17/19] Using a cursor for adding super classes and super properties
- Date: Fri, 28 Aug 2009 10:02:35 +0000 (UTC)
commit 9484fdb2f545a84b62b6c2b0a2055392e29ede07
Author: Philip Van Hoof <philip codeminded be>
Date: Fri Aug 28 11:56:24 2009 +0200
Using a cursor for adding super classes and super properties
src/libtracker-data/tracker-data-manager.c | 40 ++++++++++------------------
1 files changed, 14 insertions(+), 26 deletions(-)
---
diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c
index d4d7873..8927d79 100644
--- a/src/libtracker-data/tracker-data-manager.c
+++ b/src/libtracker-data/tracker-data-manager.c
@@ -284,33 +284,27 @@ static void
class_add_super_classes_from_db (TrackerDBInterface *iface, TrackerClass *class)
{
TrackerDBStatement *stmt;
- TrackerDBResultSet *result_set;
+ TrackerDBCursor *cursor;
stmt = tracker_db_interface_create_statement (iface,
"SELECT (SELECT Uri FROM \"rdfs:Resource\" WHERE ID = \"rdfs:subClassOf\") "
"FROM \"rdfs:Class_rdfs:subClassOf\" "
"WHERE ID = (SELECT ID FROM \"rdfs:Resource\" WHERE Uri = ?)");
tracker_db_statement_bind_text (stmt, 0, tracker_class_get_uri (class));
- result_set = tracker_db_statement_execute (stmt, NULL);
+ cursor = tracker_db_statement_start_cursor (stmt, NULL);
g_object_unref (stmt);
- if (result_set) {
- gboolean valid = TRUE;
-
- while (valid) {
+ if (cursor) {
+ while (tracker_db_cursor_iter_next (cursor)) {
TrackerClass *super_class;
- gchar *super_class_uri;
+ const gchar *super_class_uri;
- tracker_db_result_set_get (result_set, 0, &super_class_uri, -1);
+ super_class_uri = tracker_db_cursor_get_string (cursor, 0);
super_class = tracker_ontology_get_class_by_uri (super_class_uri);
tracker_class_add_super_class (class, super_class);
-
- g_free (super_class_uri);
-
- valid = tracker_db_result_set_iter_next (result_set);
}
- g_object_unref (result_set);
+ g_object_unref (cursor);
}
}
@@ -318,33 +312,27 @@ static void
property_add_super_properties_from_db (TrackerDBInterface *iface, TrackerProperty *property)
{
TrackerDBStatement *stmt;
- TrackerDBResultSet *result_set;
+ TrackerDBCursor *cursor;
stmt = tracker_db_interface_create_statement (iface,
"SELECT (SELECT Uri FROM \"rdfs:Resource\" WHERE ID = \"rdfs:subPropertyOf\") "
"FROM \"rdf:Property_rdfs:subPropertyOf\" "
"WHERE ID = (SELECT ID FROM \"rdfs:Resource\" WHERE Uri = ?)");
tracker_db_statement_bind_text (stmt, 0, tracker_property_get_uri (property));
- result_set = tracker_db_statement_execute (stmt, NULL);
+ cursor = tracker_db_statement_start_cursor (stmt, NULL);
g_object_unref (stmt);
- if (result_set) {
- gboolean valid = TRUE;
-
- while (valid) {
+ if (cursor) {
+ while (tracker_db_cursor_iter_next (cursor)) {
TrackerProperty *super_property;
- gchar *super_property_uri;
+ const gchar *super_property_uri;
- tracker_db_result_set_get (result_set, 0, &super_property_uri, -1);
+ super_property_uri = tracker_db_cursor_get_string (cursor, 0);
super_property = tracker_ontology_get_property_by_uri (super_property_uri);
tracker_property_add_super_property (property, super_property);
-
- g_free (super_property_uri);
-
- valid = tracker_db_result_set_iter_next (result_set);
}
- g_object_unref (result_set);
+ g_object_unref (cursor);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]