diff options
author | Philip Van Hoof <philip@codeminded.be> | 2010-08-11 15:44:28 +0200 |
---|---|---|
committer | Philip Van Hoof <philip@codeminded.be> | 2010-08-11 15:50:15 +0200 |
commit | c03c0c9cd5ff0faf4495eb16e6b86f1b760a37db (patch) | |
tree | 6935314c77badc14638d8cc0b8221e89dc8e95af | |
parent | 47db48802f4f23eb9974657eebd71085eba047bc (diff) | |
download | tracker-c03c0c9cd5ff0faf4495eb16e6b86f1b760a37db.tar.gz |
libtracker-data: NB#184823, Unsupported ontology change prevent tracker for booting
-rw-r--r-- | data/ontologies/89-mtp.ontology | 2 | ||||
-rw-r--r-- | src/libtracker-data/tracker-data-manager.c | 6 | ||||
-rw-r--r-- | src/libtracker-data/tracker-db-manager.c | 9 | ||||
-rw-r--r-- | src/libtracker-data/tracker-db-manager.h | 1 | ||||
-rw-r--r-- | src/tracker-control/tracker-control.c | 2 |
5 files changed, 13 insertions, 7 deletions
diff --git a/data/ontologies/89-mtp.ontology b/data/ontologies/89-mtp.ontology index 2da81bf32..3bc31b898 100644 --- a/data/ontologies/89-mtp.ontology +++ b/data/ontologies/89-mtp.ontology @@ -11,7 +11,7 @@ mtp: a tracker:Namespace, tracker:Ontology ; tracker:prefix "mtp" ; - nao:lastModified "2010-08-05T13:00:00Z" . + nao:lastModified "2010-08-11T16:00:00Z" . # # This ontology "decorates" nmm and nfo to include properties required diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c index 232e55bdc..c568808ce 100644 --- a/src/libtracker-data/tracker-data-manager.c +++ b/src/libtracker-data/tracker-data-manager.c @@ -2684,7 +2684,7 @@ tracker_data_manager_init (TrackerDBManagerFlags flags, GList *sorted = NULL, *l; const gchar *env_path; gint max_id = 0; - gboolean read_only; + gboolean read_only, needed_reindex = FALSE; tracker_data_update_init (); @@ -2704,7 +2704,7 @@ tracker_data_manager_init (TrackerDBManagerFlags flags, read_journal = FALSE; - if (!tracker_db_manager_init (flags, &is_first_time_index, TRUE)) { + if (!tracker_db_manager_init (flags, &is_first_time_index, &needed_reindex, TRUE)) { return FALSE; } @@ -2718,7 +2718,7 @@ tracker_data_manager_init (TrackerDBManagerFlags flags, iface = tracker_db_manager_get_db_interface (); - if (journal_check && is_first_time_index) { + if (journal_check && is_first_time_index && !needed_reindex) { if (tracker_db_journal_reader_init (NULL)) { if (tracker_db_journal_reader_next (NULL)) { /* journal with at least one valid transaction diff --git a/src/libtracker-data/tracker-db-manager.c b/src/libtracker-data/tracker-db-manager.c index 86b710920..37ad10fde 100644 --- a/src/libtracker-data/tracker-db-manager.c +++ b/src/libtracker-data/tracker-db-manager.c @@ -56,7 +56,7 @@ #define TRACKER_DB_PAGE_SIZE_DONT_SET -1 /* Set current database version we are working with */ -#define TRACKER_DB_VERSION_NOW TRACKER_DB_VERSION_0_9_15 +#define TRACKER_DB_VERSION_NOW TRACKER_DB_VERSION_0_9_16 #define TRACKER_DB_VERSION_FILE "db-version.txt" #define IN_USE_FILENAME ".meta.isrunning" @@ -89,7 +89,8 @@ typedef enum { TRACKER_DB_VERSION_0_8_0, /* stable release */ TRACKER_DB_VERSION_0_9_0, /* unstable release */ TRACKER_DB_VERSION_0_9_8, /* affiliation cardinality + volumes */ - TRACKER_DB_VERSION_0_9_15 /* mtp:hidden */ + TRACKER_DB_VERSION_0_9_15, /* mtp:hidden */ + TRACKER_DB_VERSION_0_9_16 /* Fix for NB#184823 */ } TrackerDBVersion; typedef struct { @@ -653,6 +654,7 @@ free_thread_interface (gpointer data) gboolean tracker_db_manager_init (TrackerDBManagerFlags flags, gboolean *first_time, + gboolean *needed_reindex, gboolean shared_cache) { GType etype; @@ -743,6 +745,9 @@ tracker_db_manager_init (TrackerDBManagerFlags flags, } if (need_reindex) { + if (needed_reindex) { + *needed_reindex = TRUE; + } db_set_version (); } diff --git a/src/libtracker-data/tracker-db-manager.h b/src/libtracker-data/tracker-db-manager.h index 635f4f551..dd9cc5603 100644 --- a/src/libtracker-data/tracker-db-manager.h +++ b/src/libtracker-data/tracker-db-manager.h @@ -49,6 +49,7 @@ typedef enum { GType tracker_db_get_type (void) G_GNUC_CONST; gboolean tracker_db_manager_init (TrackerDBManagerFlags flags, gboolean *first_time, + gboolean *needed_reindex, gboolean shared_cache); void tracker_db_manager_shutdown (void); void tracker_db_manager_remove_all (gboolean rm_journal); diff --git a/src/tracker-control/tracker-control.c b/src/tracker-control/tracker-control.c index 3efe87184..04fb4a87d 100644 --- a/src/tracker-control/tracker-control.c +++ b/src/tracker-control/tracker-control.c @@ -431,7 +431,7 @@ main (int argc, char **argv) g_object_unref (db_config); /* Clean up */ - if (!tracker_db_manager_init (TRACKER_DB_MANAGER_REMOVE_ALL, NULL, FALSE)) { + if (!tracker_db_manager_init (TRACKER_DB_MANAGER_REMOVE_ALL, NULL, NULL, FALSE)) { return EXIT_FAILURE; } |