tracker r2280 - in trunk: . src/trackerd
- From: ifrade svn gnome org
- To: svn-commits-list gnome org
- Subject: tracker r2280 - in trunk: . src/trackerd
- Date: Tue, 30 Sep 2008 14:00:14 +0000 (UTC)
Author: ifrade
Date: Tue Sep 30 14:00:14 2008
New Revision: 2280
URL: http://svn.gnome.org/viewvc/tracker?rev=2280&view=rev
Log:
Removed unused code from trackerd/tracker-db
Modified:
trunk/ChangeLog
trunk/src/trackerd/tracker-db.c
trunk/src/trackerd/tracker-db.h
Modified: trunk/src/trackerd/tracker-db.c
==============================================================================
--- trunk/src/trackerd/tracker-db.c (original)
+++ trunk/src/trackerd/tracker-db.c Tue Sep 30 14:00:14 2008
@@ -75,96 +75,6 @@
g_free (private);
}
-static gchar *
-compress_string (const gchar *ptr,
- gint size,
- gint *compressed_size)
-{
- z_stream zs;
- gchar *buf, *swap;
- unsigned char obuf[ZLIBBUFSIZ];
- gint rv, asiz, bsiz, osiz;
-
- if (size < 0) {
- size = strlen (ptr);
- }
-
- zs.zalloc = Z_NULL;
- zs.zfree = Z_NULL;
- zs.opaque = Z_NULL;
-
- if (deflateInit2 (&zs, 6, Z_DEFLATED, 15, 6, Z_DEFAULT_STRATEGY) != Z_OK) {
- return NULL;
- }
-
- asiz = size + 16;
-
- if (asiz < ZLIBBUFSIZ) {
- asiz = ZLIBBUFSIZ;
- }
-
- if (!(buf = malloc (asiz))) {
- deflateEnd (&zs);
- return NULL;
- }
-
- bsiz = 0;
- zs.next_in = (unsigned char *)ptr;
- zs.avail_in = size;
- zs.next_out = obuf;
- zs.avail_out = ZLIBBUFSIZ;
-
- while ((rv = deflate (&zs, Z_FINISH)) == Z_OK) {
- osiz = ZLIBBUFSIZ - zs.avail_out;
-
- if (bsiz + osiz > asiz) {
- asiz = asiz * 2 + osiz;
-
- if (!(swap = realloc (buf, asiz))) {
- free (buf);
- deflateEnd (&zs);
- return NULL;
- }
-
- buf = swap;
- }
-
- memcpy (buf + bsiz, obuf, osiz);
- bsiz += osiz;
- zs.next_out = obuf;
- zs.avail_out = ZLIBBUFSIZ;
- }
-
- if (rv != Z_STREAM_END) {
- free (buf);
- deflateEnd (&zs);
- return NULL;
- }
-
- osiz = ZLIBBUFSIZ - zs.avail_out;
-
- if (bsiz + osiz + 1 > asiz) {
- asiz = asiz * 2 + osiz;
-
- if (!(swap = realloc (buf, asiz))) {
- free (buf);
- deflateEnd (&zs);
- return NULL;
- }
-
- buf = swap;
- }
-
- memcpy (buf + bsiz, obuf, osiz);
- bsiz += osiz;
- buf[bsiz] = '\0';
-
- *compressed_size = bsiz;
-
- deflateEnd (&zs);
-
- return buf;
-}
static gboolean
db_exec_proc_no_reply (TrackerDBInterface *iface,
@@ -191,287 +101,6 @@
return TRUE;
}
-static void
-db_save_full_text (TrackerDBInterface *iface,
- const gchar *str_file_id,
- const gchar *text,
- gint length)
-{
- gchar *compressed, *value = NULL;
- gint bytes_compressed;
- const gchar *field_id;
-
- compressed = compress_string (text, length, &bytes_compressed);
-
- if (compressed) {
- g_debug ("Compressed full text size of %d to %d",
- length, bytes_compressed);
- value = compressed;
- } else {
- g_warning ("Could not compress text'%*s...', length:%d",
- 16, text, length);
- value = g_strdup (text);
- bytes_compressed = length;
- }
-
- field_id = tracker_ontology_field_get_id ("File:Contents");
-
- if (!field_id) {
- g_warning ("Metadata not found for type:'File:Contents'");
- g_free (value);
- return;
- }
-
- tracker_db_interface_execute_procedure_len (iface,
- NULL,
- "SaveServiceContents",
- str_file_id,
- -1,
- field_id,
- -1,
- value,
- bytes_compressed,
- NULL);
- g_free (value);
-}
-
-static void
-update_metadata_index (const gchar *id,
- const gchar *service,
- TrackerField *def,
- const gchar *old_value,
- const gchar *new_value)
-{
- TrackerDBPrivate *private;
- GHashTable *old_table;
- GHashTable *new_table;
- gint sid;
-
- g_return_if_fail (TRACKER_IS_FIELD (def));
-
- private = g_static_private_get (&private_key);
- g_return_if_fail (private != NULL);
-
- old_table = NULL;
- new_table = NULL;
-
- if (old_value) {
- old_table = tracker_parser_text (old_table,
- old_value,
- tracker_field_get_weight (def),
- private->language,
- tracker_config_get_max_words_to_index (private->config),
- tracker_config_get_max_word_length (private->config),
- tracker_config_get_min_word_length (private->config),
- tracker_field_get_filtered (def),
- tracker_field_get_delimited (def));
- }
-
- /* Parse new metadata value */
- if (new_value) {
- new_table = tracker_parser_text (new_table,
- new_value,
- tracker_field_get_weight (def),
- private->language,
- tracker_config_get_max_words_to_index (private->config),
- tracker_config_get_max_word_length (private->config),
- tracker_config_get_min_word_length (private->config),
- tracker_field_get_filtered (def),
- tracker_field_get_delimited (def));
- }
-
- /* We only do differential updates so only changed words scores are updated */
- sid = tracker_ontology_get_service_id_by_name (service);
-#if 0
- tracker_db_update_differential_index (old_table, new_table, id, sid);
-#endif
-
- g_hash_table_unref (old_table);
- g_hash_table_unref (new_table);
-}
-
-static gchar *
-get_backup_id (TrackerDBInterface *iface,
- const gchar *id)
-{
- TrackerDBResultSet *result_set;
- gchar *backup_id = NULL;
-
- result_set = tracker_db_exec_proc (iface,
- "GetBackupServiceByID",
- id,
- NULL);
-
- if (result_set) {
- tracker_db_result_set_get (result_set, 0, &backup_id, -1);
- g_object_unref (result_set);
- }
-
- if (!backup_id) {
- gint64 last_insert_id;
-
- tracker_db_exec_proc (iface,
- "InsertBackupService",
- id,
- NULL);
- last_insert_id = tracker_db_interface_sqlite_get_last_insert_id (TRACKER_DB_INTERFACE_SQLITE (iface));
- backup_id = tracker_gint_to_string (last_insert_id);
- }
-
- return backup_id;
-}
-
-static inline void
-backup_non_embedded_metadata (TrackerDBInterface *iface,
- const gchar *id,
- const gchar *key_id,
- const gchar *value)
-{
- gchar *backup_id;
-
- backup_id = get_backup_id (iface, id);
-
- if (backup_id) {
- tracker_db_exec_proc (iface,
- "SetBackupMetadata",
- backup_id,
- key_id,
- value,
- NULL);
- g_free (backup_id);
- }
-}
-
-static inline void
-backup_delete_non_embedded_metadata_value (TrackerDBInterface *iface,
- const gchar *id,
- const gchar *key_id,
- const gchar *value)
-{
- gchar *backup_id;
-
- backup_id = get_backup_id (iface, id);
-
- if (backup_id) {
- tracker_db_exec_proc (iface,
- "DeleteBackupMetadataValue",
- backup_id,
- key_id,
- value,
- NULL);
- g_free (backup_id);
- }
-}
-
-static inline void
-backup_delete_non_embedded_metadata (TrackerDBInterface *iface,
- const gchar *id,
- const gchar *key_id)
-{
- gchar *backup_id;
-
- backup_id = get_backup_id (iface, id);
-
- if (backup_id) {
- tracker_db_exec_proc (iface,
- "DeleteBackupMetadata",
- backup_id,
- key_id,
- NULL);
- g_free (backup_id);
- }
-}
-
-static gchar *
-remove_value (const gchar *str,
- const gchar *del_str)
-{
- GString *s = NULL;
- gchar **p;
- gchar **strv;
-
- strv = g_strsplit (str, "|", -1);
-
- for (p = strv; *p; p++) {
- if (tracker_is_empty_string (*p)) {
- continue;
- }
-
- if (strcmp (del_str, *p) != 0) {
- if (!s) {
- s = g_string_new (*p);
- } else {
- g_string_append_printf (s, "%s%s", "|", *p);
- }
- }
- }
-
- g_strfreev (strv);
-
- if (!s) {
- return NULL;
- }
-
- return g_string_free (s, FALSE);
-}
-
-/* Deprecated */
-static guint32
-db_create_event (TrackerDBInterface *iface,
- const gchar *service_id_str,
- const gchar *type)
-{
- TrackerDBResultSet *result_set;
- gchar *eid;
- gint i;
- guint32 id = 0;
-
- g_return_val_if_fail (TRACKER_IS_DB_INTERFACE (iface), 0);
-
- result_set = tracker_db_exec_proc (iface,
- "GetNewEventID",
- NULL);
-
- if (!result_set) {
- g_critical ("Could not create event, GetNewEventID failed");
- return 0;
- }
-
- tracker_db_result_set_get (result_set, 0, &eid, -1);
- i = atoi (eid);
- g_free (eid);
-
- i++;
- eid = tracker_gint_to_string (i);
-
- result_set = tracker_db_exec_proc (iface,
- "UpdateNewEventID",
- eid,
- NULL);
- if (result_set)
- g_object_unref (result_set);
-
- /* Uses the Events table */
- result_set = tracker_db_exec_proc (iface,
- "CreateEvent",
- eid,
- service_id_str,
- type,
- NULL);
-
- id = tracker_db_interface_sqlite_get_last_insert_id (TRACKER_DB_INTERFACE_SQLITE (iface));
-
- if (result_set) {
- g_object_unref (result_set);
- }
-
- g_free (eid);
-
- tracker_xesam_manager_wakeup ();
-
- return id;
-}
-
GArray *
tracker_db_create_array_of_services (const gchar *service,
gboolean basic_services)
@@ -1531,654 +1160,6 @@
return NULL;
}
-void
-tracker_db_metadata_set_single (TrackerDBInterface *iface,
- const gchar *service_type,
- const gchar *service_id,
- const gchar *key,
- const gchar *value,
- gboolean do_backup)
-{
- gchar *array[2];
-
- g_return_if_fail (TRACKER_IS_DB_INTERFACE (iface));
- g_return_if_fail (service_type != NULL);
- g_return_if_fail (service_id != NULL);
- g_return_if_fail (key != NULL);
- g_return_if_fail (value != NULL);
-
- array[0] = (gchar*) value;
- array[1] = NULL;
-
- tracker_db_metadata_set (iface, service_type, service_id, key, array, do_backup);
-}
-
-gchar *
-tracker_db_metadata_set (TrackerDBInterface *iface,
- const gchar *service_type,
- const gchar *service_id,
- const gchar *key,
- gchar **values,
- gboolean do_backup)
-{
- TrackerDBPrivate *private;
- TrackerField *def;
- gchar *old_value;
- gchar *new_value;
- gchar *res_service;
- gboolean update_index;
- gint key_field;
- guint i;
- guint length;
- GString *str;
-
- g_return_val_if_fail (TRACKER_IS_DB_INTERFACE (iface), NULL);
- g_return_val_if_fail (service_type != NULL, NULL);
- g_return_val_if_fail (service_id != NULL, NULL);
- g_return_val_if_fail (key != NULL, NULL);
- g_return_val_if_fail (values != NULL, NULL);
-
- private = g_static_private_get (&private_key);
- g_return_val_if_fail (private != NULL, NULL);
-
- if (strcmp (service_id, "0") == 0) {
- return NULL;
- }
-
- def = tracker_ontology_get_field_by_name (key);
-
- if (!def) {
- g_warning ("Metadata type:'%s' not found", key);
- return NULL;
- }
-
- res_service = tracker_db_service_get_by_entity (iface, service_id);
-
- if (!res_service) {
- g_warning ("Service not found for service_id:'%s'", service_id);
- return NULL;
- }
-
- old_value = NULL;
- new_value = NULL;
- key_field = 0;
- str = NULL;
-
- length = g_strv_length (values);
-
- if (tracker_field_get_multiple_values (def) && length > 1) {
- str = g_string_new ("");
- }
-
- key_field = tracker_ontology_service_get_key_metadata (res_service, key);
-
- update_index =
- tracker_field_get_data_type (def) == TRACKER_FIELD_TYPE_INDEX ||
- tracker_field_get_data_type (def) == TRACKER_FIELD_TYPE_KEYWORD ||
- tracker_field_get_data_type (def) == TRACKER_FIELD_TYPE_FULLTEXT;
-
- if (update_index) {
- old_value = tracker_db_metadata_get_delimited (iface, service_id, key);
- }
-
- /* Delete old value if metadata does not support multiple values */
- if (!tracker_field_get_multiple_values (def)) {
- tracker_db_metadata_delete (iface, service_type, service_id, key, FALSE);
- }
-
- switch (tracker_field_get_data_type (def)) {
- case TRACKER_FIELD_TYPE_KEYWORD:
- for (i = 0; i < length; i++) {
- if (!values[i] || !values[i][0]) {
- continue;
- }
-
- tracker_db_exec_proc (iface,
- "SetMetadataKeyword",
- service_id,
- tracker_field_get_id (def),
- values[i],
- NULL);
-
- /* Backup non-embedded data for embedded services */
- if (do_backup &&
- !tracker_field_get_embedded (def) &&
- tracker_ontology_service_has_embedded (service_type)) {
- backup_non_embedded_metadata (iface,
- service_id,
- tracker_field_get_id (def),
- values[i]);
- }
-
- if (str) {
- g_string_append_printf (str, " %s ", values[i]);
- } else {
- new_value = values[i];
- }
-
- g_message ("Saving keyword:'%s'", values[i]);
- }
- break;
-
- case TRACKER_FIELD_TYPE_INDEX:
- for (i = 0; i < length; i++) {
- gchar *mvalue;
-
- if (!values[i] || !values[i][0]) {
- continue;
- }
-
- if (str) {
- g_string_append_printf (str, " %s ", values[i]);
- } else {
- new_value = values[i];
- }
-
- /* Backup non-embedded data for embedded services */
- if (do_backup &&
- !tracker_field_get_embedded (def) &&
- tracker_ontology_service_has_embedded (service_type)) {
- backup_non_embedded_metadata (iface, service_id, tracker_field_get_id (def), values[i]);
- }
-
- mvalue = tracker_parser_text_to_string (values[i],
- private->language,
- tracker_config_get_max_word_length (private->config),
- tracker_config_get_min_word_length (private->config),
- tracker_field_get_filtered (def),
- tracker_field_get_filtered (def),
- tracker_field_get_delimited (def));
- tracker_db_exec_proc (iface,
- "SetMetadata",
- service_id,
- tracker_field_get_id (def),
- mvalue,
- values[i],
- NULL);
- g_free (mvalue);
- }
- break;
-
- case TRACKER_FIELD_TYPE_FULLTEXT:
- /* We do not support multiple values for fulltext clobs */
- if (values[0]) {
- /* FIXME: is the blog the metadata blob/email
- * blob or something else?
- */
- db_save_full_text (iface,
- service_id,
- values[0],
- strlen (values[0]));
- new_value = values[0];
- }
- break;
-
- case TRACKER_FIELD_TYPE_STRING:
- for (i = 0; i < length; i++) {
- gchar *mvalue;
-
- if (!values[i] || !values[i][0]) {
- continue;
- }
-
- /* Backup non-embedded data for embedded services */
- if (do_backup &&
- !tracker_field_get_embedded (def) &&
- tracker_ontology_service_has_embedded (service_type)) {
- backup_non_embedded_metadata (iface,
- service_id,
- tracker_field_get_id (def),
- values[i]);
- }
-
- mvalue = tracker_parser_text_to_string (values[i],
- private->language,
- tracker_config_get_max_word_length (private->config),
- tracker_config_get_min_word_length (private->config),
- tracker_field_get_filtered (def),
- tracker_field_get_filtered (def),
- tracker_field_get_delimited (def));
- tracker_db_exec_proc (iface,
- "SetMetadata",
- service_id,
- tracker_field_get_id (def),
- mvalue,
- values[i],
- NULL);
- g_free (mvalue);
- }
- break;
-
- case TRACKER_FIELD_TYPE_DOUBLE:
- for (i = 0; i < length; i++) {
- if (!values[i] || !values[i][0]) {
- continue;
- }
-
- /* Backup non-embedded data for embedded services */
- if (do_backup &&
- !tracker_field_get_embedded (def) &&
- tracker_ontology_service_has_embedded (service_type)) {
- backup_non_embedded_metadata (iface,
- service_id,
- tracker_field_get_id (def),
- values[i]);
- }
-
- tracker_db_exec_proc (iface,
- "SetMetadata",
- service_id,
- tracker_field_get_id (def),
- " ",
- values[i],
- NULL);
- }
- break;
-
- case TRACKER_FIELD_TYPE_INTEGER:
- for (i = 0; i < length; i++) {
- if (!values[i] || !values[i][0]) {
- continue;
- }
-
- /* Backup non-embedded data for embedded services */
- if (do_backup &&
- !tracker_field_get_embedded (def) &&
- tracker_ontology_service_has_embedded (service_type)) {
- backup_non_embedded_metadata (iface,
- service_id,
- tracker_field_get_id (def),
- values[i]);
- }
-
- tracker_db_exec_proc (iface,
- "SetMetadataNumeric",
- service_id,
- tracker_field_get_id (def),
- values[i],
- NULL);
- }
- break;
-
- case TRACKER_FIELD_TYPE_DATE:
- for (i = 0; i < length; i++) {
- gchar *mvalue;
-
- if (!values[i] || !values[i][0]) {
- continue;
- }
-
- mvalue = tracker_date_to_time_string (values[i]);
-
- if (!mvalue) {
- g_warning ("Could not format date:'%s'", values[i]);
- continue;
- }
-
- tracker_db_exec_proc (iface,
- "SetMetadataNumeric",
- service_id,
- tracker_field_get_id (def),
- mvalue,
- NULL);
-
- /* backup non-embedded data for embedded services */
- if (do_backup &&
- !tracker_field_get_embedded (def) &&
- tracker_ontology_service_has_embedded (service_type)) {
- backup_non_embedded_metadata (iface,
- service_id,
- tracker_field_get_id (def),
- mvalue);
- }
-
-
- g_free (mvalue);
- }
- break;
-
- default:
- g_warning ("Metadata could not be set as type:%d for "
- "metadata:'%s' is not supported",
- tracker_field_get_data_type (def),
- key);
- break;
- }
-
- if (key_field > 0) {
- if (values[0]) {
- gchar *esc_value = NULL;
-
- if (tracker_field_get_data_type (def) == TRACKER_FIELD_TYPE_DATE) {
- esc_value = tracker_date_to_time_string (values[0]);
-
- if (!esc_value) {
- return NULL;
- }
- } else {
- gchar *str;
-
- str = tracker_string_list_to_string (values, length, '|');
- esc_value = tracker_escape_string (str);
- g_free (str);
- }
-
- tracker_db_exec_no_reply (iface,
- "update Services set KeyMetadata%d = '%s' where id = %s",
- key_field,
- esc_value,
- service_id);
-
- g_free (esc_value);
- }
-
- }
-
- /* Update fulltext index differentially with current and new
- * values.
- */
- if (update_index) {
- if (str) {
- update_metadata_index (service_id, res_service, def, old_value, str->str);
- g_string_free (str, TRUE);
- } else {
- update_metadata_index (service_id, res_service, def, old_value, new_value);
- }
- }
-
- g_free (old_value);
- g_free (res_service);
-
- return NULL;
-}
-
-void
-tracker_db_metadata_delete_value (TrackerDBInterface *iface,
- const gchar *service,
- const gchar *id,
- const gchar *key,
- const gchar *value)
-{
- TrackerDBPrivate *private;
- TrackerField *def;
- gchar *old_value;
- gchar *new_value;
- gchar *mvalue;
- gchar *res_service;
- gboolean update_index;
- gint key_field;
-
- g_return_if_fail (TRACKER_IS_DB_INTERFACE (iface));
- g_return_if_fail (service != NULL);
- g_return_if_fail (id != NULL);
- g_return_if_fail (key != NULL);
-
- private = g_static_private_get (&private_key);
- g_return_if_fail (private != NULL);
-
- /* Get type details */
- def = tracker_ontology_get_field_by_name (key);
-
- if (!def) {
- return;
- }
-
- old_value = NULL;
- new_value = NULL;
-
- if (!tracker_field_get_embedded (def) &&
- tracker_ontology_service_has_embedded (service)) {
- backup_delete_non_embedded_metadata_value (iface,
- id,
- tracker_field_get_id (def),
- value);
- }
-
- res_service = tracker_db_service_get_by_entity (iface, id);
-
- if (!res_service) {
- g_warning ("Entity not found");
- return;
- }
-
- key_field = tracker_ontology_service_get_key_metadata (res_service, key);
-
- update_index =
- tracker_field_get_data_type (def) == TRACKER_FIELD_TYPE_INDEX ||
- tracker_field_get_data_type (def) == TRACKER_FIELD_TYPE_KEYWORD;
-
- if (update_index) {
- /* Get current value and claculate the new value */
- old_value = tracker_db_metadata_get_delimited (iface, id, key);
-
- if (old_value) {
- new_value = remove_value (old_value, value);
- } else {
- g_free (res_service);
- return;
- }
- }
-
- /* Perform deletion */
- switch (tracker_field_get_data_type (def)) {
- case TRACKER_FIELD_TYPE_INDEX:
- case TRACKER_FIELD_TYPE_STRING:
- mvalue = tracker_parser_text_to_string (value,
- private->language,
- tracker_config_get_max_word_length (private->config),
- tracker_config_get_min_word_length (private->config),
- tracker_field_get_filtered (def),
- tracker_field_get_filtered (def),
- tracker_field_get_delimited (def));
- tracker_db_exec_proc (iface,
- "DeleteMetadataValue",
- id,
- tracker_field_get_id (def),
- mvalue,
- NULL);
- g_free (mvalue);
- break;
-
- case TRACKER_FIELD_TYPE_DOUBLE:
- tracker_db_exec_proc (iface,
- "DeleteMetadataValue",
- id,
- tracker_field_get_id (def),
- value,
- NULL);
- break;
-
- case TRACKER_FIELD_TYPE_INTEGER:
- case TRACKER_FIELD_TYPE_DATE:
- tracker_db_exec_proc (iface,
- "DeleteMetadataNumericValue",
- id,
- tracker_field_get_id (def),
- value,
- NULL);
- break;
-
- case TRACKER_FIELD_TYPE_KEYWORD:
- tracker_db_exec_proc (iface,
- "DeleteMetadataKeywordValue",
- id,
- tracker_field_get_id (def),
- value,
- NULL);
- break;
-
- default:
- g_warning ("Metadata could not be deleted as type:%d for "
- "metadata:'%s' is not supported",
- tracker_field_get_data_type (def),
- key);
- break;
- }
-
- if (key_field > 0) {
- TrackerDBResultSet *result_set;
- gchar *value;
-
- result_set = tracker_db_metadata_get (iface, id, key);
-
- if (result_set) {
- tracker_db_result_set_get (result_set, 0, &value, -1);
-
- if (value) {
- gchar *esc_value;
-
- esc_value = tracker_escape_string (value);
- tracker_db_exec_no_reply (iface,
- "update Services set KeyMetadata%d = '%s' where id = %s",
- key_field,
- esc_value,
- id);
-
- g_free (esc_value);
- g_free (value);
- } else {
- tracker_db_exec_no_reply (iface,
- "update Services set KeyMetadata%d = NULL where id = %s",
- key_field,
- id);
- }
-
- g_object_unref (result_set);
- } else {
- tracker_db_exec_no_reply (iface,
- "update Services set KeyMetadata%d = NULL where id = %s",
- key_field,
- id);
- }
- }
-
- /* Update fulltext index differentially with old and new values */
- if (update_index) {
- update_metadata_index (id,
- service,
- def,
- old_value,
- new_value);
- }
-
- g_free (new_value);
- g_free (old_value);
- g_free (res_service);
-}
-
-void
-tracker_db_metadata_delete (TrackerDBInterface *iface,
- const gchar *service,
- const gchar *id,
- const gchar *key,
- gboolean update_indexes)
-{
- TrackerField *def;
- gchar *old_value = NULL;
- gchar *res_service;
- gboolean update_index;
- gint key_field;
-
- g_return_if_fail (TRACKER_IS_DB_INTERFACE (iface));
- g_return_if_fail (service != NULL);
- g_return_if_fail (id != NULL);
- g_return_if_fail (key != NULL);
-
- /* Get type details */
- def = tracker_ontology_get_field_by_name(key);
-
- if (!def) {
- return;
- }
-
- if (!tracker_field_get_embedded (def) &&
- tracker_ontology_service_has_embedded (service)) {
- backup_delete_non_embedded_metadata (iface,
- id,
- tracker_field_get_id (def));
- }
-
- res_service = tracker_db_service_get_by_entity (iface, id);
-
- if (!res_service) {
- g_warning ("Entity not found");
- return;
- }
-
- key_field = tracker_ontology_service_get_key_metadata (res_service, key);
-
- update_index =
- update_indexes &&
- (tracker_field_get_data_type (def) == TRACKER_FIELD_TYPE_INDEX ||
- tracker_field_get_data_type (def) == TRACKER_FIELD_TYPE_KEYWORD);
-
- if (update_index) {
- /* Get current value */
- old_value = tracker_db_metadata_get_delimited (iface, id, key);
- }
-
- if (key_field > 0) {
- tracker_db_exec_no_reply (iface,
- "update Services set KeyMetadata%d = NULL where id = %s",
- key_field, id);
- }
-
- /* Perform deletion */
- switch (tracker_field_get_data_type (def)) {
- case TRACKER_FIELD_TYPE_INDEX:
- case TRACKER_FIELD_TYPE_STRING:
- case TRACKER_FIELD_TYPE_DOUBLE:
- tracker_db_exec_proc (iface,
- "DeleteMetadata",
- id,
- tracker_field_get_id (def),
- NULL);
- break;
-
- case TRACKER_FIELD_TYPE_INTEGER:
- case TRACKER_FIELD_TYPE_DATE:
- tracker_db_exec_proc (iface,
- "DeleteMetadataNumeric",
- id,
- tracker_field_get_id (def),
- NULL);
- break;
-
- case TRACKER_FIELD_TYPE_KEYWORD:
- tracker_db_exec_proc (iface,
- "DeleteMetadataKeyword",
- id,
- tracker_field_get_id (def),
- NULL);
- break;
-
- case TRACKER_FIELD_TYPE_FULLTEXT:
- tracker_db_exec_proc (iface,
- "DeleteContent",
- id,
- tracker_field_get_id (def),
- NULL);
- break;
-
- default:
- g_warning ("Metadata could not be deleted as this "
- "operation is not supported by type:%d "
- "for metadata:'%s'",
- tracker_field_get_data_type (def),
- key);
- break;
- }
-
-
- /* Update fulltext index differentially with old values and NULL */
- if (update_index && old_value) {
- update_metadata_index (id, service, def, old_value, " ");
- }
-
- g_free (old_value);
- g_free (res_service);
-}
-
TrackerDBResultSet *
tracker_db_live_search_get_hit_count (TrackerDBInterface *iface,
const gchar *search_id)
@@ -2551,164 +1532,6 @@
tracker_db_exec (iface, "DELETE FROM Events WHERE BeingHandled = 1");
}
-/* Deprecated */
-guint32
-tracker_db_service_create (TrackerDBInterface *iface,
- const gchar *service,
- TrackerDBFileInfo *info)
-{
- TrackerDBPrivate *private;
- TrackerDBResultSet *result_set;
- TrackerDBResultSet *result_set_proc;
- gint i;
- guint32 id = 0;
- gchar *sid;
- gchar *str_mtime;
- const gchar *str_is_dir;
- const gchar *str_is_link;
- gchar *str_filesize;
- gchar *str_offset;
- gchar *str_aux;
- gint service_type_id;
- gchar *str_service_type_id;
- gchar *path = NULL;
- gchar *name = NULL;
-
- g_return_val_if_fail (TRACKER_IS_DB_INTERFACE (iface), 0);
- g_return_val_if_fail (info, 0);
- g_return_val_if_fail (info->uri, 0);
- g_return_val_if_fail (info->uri[0], 0);
- g_return_val_if_fail (service, 0);
-
- private = g_static_private_get (&private_key);
- g_return_val_if_fail (private != NULL, 0);
-
- tracker_file_get_path_and_name (info->uri, &path, &name);
-
- /* Get a new unique ID for the service - use mutex to prevent race conditions */
- result_set = tracker_db_exec_proc (iface, "GetNewID", NULL);
-
- if (!result_set) {
- g_critical ("Could not create service, GetNewID failed");
- return 0;
- }
-
- tracker_db_result_set_get (result_set, 0, &sid, -1);
- i = atoi (sid);
- g_free (sid);
- i++;
-
- sid = tracker_gint_to_string (i);
- result_set_proc = tracker_db_exec_proc (iface, "UpdateNewID", sid, NULL);
-
- if (result_set_proc) {
- g_object_unref (result_set_proc);
- }
-
- if (result_set) {
- g_object_unref (result_set);
- }
-
- if (info->is_directory) {
- str_is_dir = "1";
- } else {
- str_is_dir = "0";
- }
-
- if (info->is_link) {
- str_is_link = "1";
- } else {
- str_is_link = "0";
- }
-
- str_filesize = tracker_guint32_to_string (info->file_size);
- str_mtime = tracker_gint32_to_string (info->mtime);
- str_offset = tracker_gint32_to_string (info->offset);
-
- service_type_id = tracker_ontology_get_service_id_by_name (service);
-
- if (info->mime) {
- g_debug ("service id for %s is %d and sid is %s with mime %s",
- service, service_type_id, sid, info->mime);
- } else {
- g_debug ("service id for %s is %d and sid is %s",
- service, service_type_id, sid);
- }
-
- str_service_type_id = tracker_gint_to_string (service_type_id);
- str_aux = tracker_gint_to_string (info->aux_id);
-
- if (service_type_id != -1) {
- gchar *parent;
-
- result_set_proc = tracker_db_exec_proc (iface,
- "CreateService",
- sid,
- path,
- name,
- str_service_type_id,
- info->mime,
- str_filesize,
- str_is_dir,
- str_is_link,
- str_offset,
- str_mtime,
- str_aux,
- NULL);
-
- if (result_set_proc) {
- g_object_unref (result_set_proc);
- }
-
- id = tracker_db_interface_sqlite_get_last_insert_id (TRACKER_DB_INTERFACE_SQLITE (iface));
-
- if (info->is_hidden) {
- tracker_db_exec_no_reply (iface,
- "Update services set Enabled = 0 where ID = %d",
- (int) id);
- }
-
- result_set_proc = tracker_db_exec_proc (iface,
- "IncStat",
- service,
- NULL);
-
- if (result_set_proc) {
- g_object_unref (result_set_proc);
- }
-
- parent = tracker_ontology_get_service_parent (service);
-
- if (parent) {
- result_set_proc = tracker_db_exec_proc (iface,
- "IncStat",
- parent,
- NULL);
- if (result_set_proc) {
- g_object_unref (result_set_proc);
- }
-
- g_free (parent);
- }
-
- if (tracker_config_get_enable_xesam (private->config)) {
- /* FIXME: Shouldn't this be the common interface? */
- db_create_event (iface, sid, "Create");
- }
- }
-
- g_free (name);
- g_free (path);
- g_free (str_aux);
- g_free (str_service_type_id);
- g_free (sid);
- g_free (str_filesize);
- g_free (str_mtime);
- g_free (str_offset);
-
- return id;
-}
-
/*
* Obtain the concrete service type name for the file id.
*/
@@ -2912,39 +1735,6 @@
}
TrackerDBResultSet *
-tracker_db_metadata_get_types (TrackerDBInterface *iface,
- const gchar *klass,
- gboolean writeable)
-{
- g_return_val_if_fail (TRACKER_IS_DB_INTERFACE (iface), NULL);
- g_return_val_if_fail (klass != NULL, NULL);
-
- if (strcmp (klass, "*") == 0) {
- if (writeable) {
- return tracker_db_exec_proc (iface,
- "GetWriteableMetadataTypes",
- NULL);
- } else {
- return tracker_db_exec_proc (iface,
- "GetMetadataTypes",
- NULL);
- }
- } else {
- if (writeable) {
- return tracker_db_exec_proc (iface,
- "GetWriteableMetadataTypesLike",
- klass,
- NULL);
- } else {
- return tracker_db_exec_proc (iface,
- "GetMetadataTypesLike",
- klass,
- NULL);
- }
- }
-}
-
-TrackerDBResultSet *
tracker_db_keywords_get_list (TrackerDBInterface *iface,
const gchar *service)
{
Modified: trunk/src/trackerd/tracker-db.h
==============================================================================
--- trunk/src/trackerd/tracker-db.h (original)
+++ trunk/src/trackerd/tracker-db.h Tue Sep 30 14:00:14 2008
@@ -79,31 +79,6 @@
gchar * tracker_db_metadata_get_delimited (TrackerDBInterface *iface,
const gchar *id,
const gchar *key);
-gchar * tracker_db_metadata_set (TrackerDBInterface *iface,
- const gchar *service,
- const gchar *id,
- const gchar *key,
- gchar **values,
- gboolean do_backup);
-void tracker_db_metadata_set_single (TrackerDBInterface *iface,
- const gchar *service,
- const gchar *id,
- const gchar *key,
- const gchar *value,
- gboolean do_backup);
-void tracker_db_metadata_delete_value (TrackerDBInterface *iface,
- const gchar *service,
- const gchar *id,
- const gchar *key,
- const gchar *value);
-void tracker_db_metadata_delete (TrackerDBInterface *iface,
- const gchar *service,
- const gchar *id,
- const gchar *key,
- gboolean update_indexes);
-TrackerDBResultSet *tracker_db_metadata_get_types (TrackerDBInterface *iface,
- const gchar *klass,
- gboolean writeable);
/* Search API */
TrackerDBResultSet *tracker_db_search_text (TrackerDBInterface *iface,
@@ -125,9 +100,6 @@
const gchar *location);
/* Service API */
-guint32 tracker_db_service_create (TrackerDBInterface *iface,
- const gchar *service,
- TrackerDBFileInfo *info);
gchar * tracker_db_service_get_by_entity (TrackerDBInterface *iface,
const gchar *id);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]