tracker r1571 - in branches/indexer-split: . src/trackerd
- From: mr svn gnome org
- To: svn-commits-list gnome org
- Subject: tracker r1571 - in branches/indexer-split: . src/trackerd
- Date: Tue, 3 Jun 2008 11:10:52 +0000 (UTC)
Author: mr
Date: Tue Jun 3 11:10:52 2008
New Revision: 1571
URL: http://svn.gnome.org/viewvc/tracker?rev=1571&view=rev
Log:
* src/trackerd/tracker-db-sqlite.h:
* src/trackerd/tracker-rdf-query.c: Cleaned up some uses of
FieldData and changed them to TrackerFieldData instead.
Modified:
branches/indexer-split/ChangeLog
branches/indexer-split/src/trackerd/tracker-db-sqlite.h
branches/indexer-split/src/trackerd/tracker-rdf-query.c
Modified: branches/indexer-split/src/trackerd/tracker-db-sqlite.h
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-db-sqlite.h (original)
+++ branches/indexer-split/src/trackerd/tracker-db-sqlite.h Tue Jun 3 11:10:52 2008
@@ -49,21 +49,6 @@
Indexer *word_index;
};
-typedef struct {
- char *alias;
- char *field_name;
- char *select_field;
- char *where_field;
- char *table_name;
- char *id_field;
- TrackerFieldType data_type;
- guint multiple_values : 1;
- guint is_select : 1;
- guint is_condition : 1;
- guint needs_join : 1;
-
-} FieldData;
-
/* Module wide ops */
gboolean tracker_db_needs_setup (void);
gboolean tracker_db_common_need_build (void);
@@ -308,8 +293,6 @@
gchar * tracker_db_get_field_name (const gchar *service,
const gchar *meta_name);
-void tracker_free_metadata_field (FieldData *field_data);
-
void tracker_db_delete_service (DBConnection *db_con,
guint32 id,
const gchar *uri);
Modified: branches/indexer-split/src/trackerd/tracker-rdf-query.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-rdf-query.c (original)
+++ branches/indexer-split/src/trackerd/tracker-rdf-query.c Tue Jun 3 11:10:52 2008
@@ -19,6 +19,7 @@
#include <string.h>
+#include <libtracker-common/tracker-field-data.h>
#include <libtracker-common/tracker-log.h>
#include <libtracker-common/tracker-type-utils.h>
#include <libtracker-common/tracker-utils.h>
@@ -1184,31 +1185,48 @@
result = NULL;
if (!g_markup_parse_context_parse (data.context, query, -1, &error)) {
-
g_string_free (data.sql_select, TRUE);
g_string_free (data.sql_from, TRUE);
g_string_free (data.sql_where, TRUE);
g_string_free (data.sql_order, TRUE);
-
} else {
- const GSList *tmp;
- FieldData *tmp_field;
+ GSList *l;
- for (tmp = data.fields; tmp; tmp = tmp->next) {
- tmp_field = tmp->data;
-
- if (!tmp_field->is_condition) {
- if (tmp_field->needs_join) {
- g_string_append_printf (data.sql_from, "\n LEFT OUTER JOIN %s %s ON (S.ID = %s.ServiceID and %s.MetaDataID = %s) ", tmp_field->table_name, tmp_field->alias, tmp_field->alias, tmp_field->alias, tmp_field->id_field);
+ for (l = data.fields; l; l = l->next) {
+ if (!tracker_field_data_get_is_condition (l->data)) {
+ if (tracker_field_data_get_needs_join (l->data)) {
+ g_string_append_printf (data.sql_from,
+ "\n LEFT OUTER JOIN %s %s ON (S.ID = %s.ServiceID and %s.MetaDataID = %s) ",
+ tracker_field_data_get_table_name (l->data),
+ tracker_field_data_get_alias (l->data),
+ tracker_field_data_get_alias (l->data),
+ tracker_field_data_get_alias (l->data),
+ tracker_field_data_get_id_field (l->data));
}
} else {
- char *related_metadata = tracker_get_related_metadata_names (db_con, tmp_field->field_name);
- g_string_append_printf (data.sql_from, "\n INNER JOIN %s %s ON (S.ID = %s.ServiceID and %s.MetaDataID in (%s)) ", tmp_field->table_name, tmp_field->alias, tmp_field->alias, tmp_field->alias, related_metadata);
+ gchar *related_metadata;
+
+ related_metadata = tracker_get_related_metadata_names (db_con,
+ tracker_field_data_get_field_name (l->data));
+ g_string_append_printf (data.sql_from,
+ "\n INNER JOIN %s %s ON (S.ID = %s.ServiceID and %s.MetaDataID in (%s)) ",
+ tracker_field_data_get_table_name (l->data),
+ tracker_field_data_get_alias (l->data),
+ tracker_field_data_get_alias (l->data),
+ tracker_field_data_get_alias (l->data),
+ related_metadata);
g_free (related_metadata);
}
}
- result = g_strconcat (data.sql_select->str, " ", data.sql_from->str, " ", data.sql_where->str, " ", data.sql_order->str, NULL);
+ result = g_strconcat (data.sql_select->str,
+ " ",
+ data.sql_from->str,
+ " ",
+ data.sql_where->str,
+ " ",
+ data.sql_order->str,
+ NULL);
g_string_free (data.sql_select, TRUE);
g_string_free (data.sql_from, TRUE);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]