[tracker/f22] Backport upstream patch to fix database migration failures (GNOME #743727)
Debarshi Ray
rishi at fedoraproject.org
Tue Mar 3 18:58:22 UTC 2015
commit e6a9065312f0e1fa1d7faa20ad1e63bd76dbb206
Author: Debarshi Ray <debarshir at gnome.org>
Date: Tue Mar 3 19:58:08 2015 +0100
Backport upstream patch to fix database migration failures (GNOME #743727)
...r-Account-for-cardinality-0-on-DB-migrati.patch | 43 ++++++++++++++++++++++
tracker.spec | 8 +++-
2 files changed, 50 insertions(+), 1 deletion(-)
---
diff --git a/0001-data-manager-Account-for-cardinality-0-on-DB-migrati.patch b/0001-data-manager-Account-for-cardinality-0-on-DB-migrati.patch
new file mode 100644
index 0000000..5f57d8e
--- /dev/null
+++ b/0001-data-manager-Account-for-cardinality-0-on-DB-migrati.patch
@@ -0,0 +1,43 @@
+From eac52e3db3c472e35af41f664ae686c0d26739d0 Mon Sep 17 00:00:00 2001
+From: Carlos Garnacho <carlosg at gnome.org>
+Date: Fri, 13 Feb 2015 13:54:13 +0100
+Subject: [PATCH] data-manager: Account for cardinality=0 on DB migration
+
+If a property changes from maxCardinality 1 to many, the database
+format is updated to cope with that, but at the time of migrating
+data, it doesn't account for resources having no elements. In order
+to avoid constraint errors, those must be skipped.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=743727
+---
+ src/libtracker-data/tracker-data-manager.c | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c
+index 74c8fc6..384a98a 100644
+--- a/src/libtracker-data/tracker-data-manager.c
++++ b/src/libtracker-data/tracker-data-manager.c
+@@ -3206,14 +3206,15 @@ create_decomposed_metadata_tables (TrackerDBInterface *iface,
+
+ /* Function does what it must do, so reusable atm */
+ range_change_for (property, n_in_col_sql, n_sel_col_sql, field_name);
+-
+- /* Columns happen to be the same for decomposed multi-value and single value atm */
++
++ /* Columns happen to be the same for decomposed multi-value and single value atm */
+
+ query = g_strdup_printf ("INSERT INTO \"%s_%s\"(%s) "
+- "SELECT %s FROM \"%s_TEMP\"",
++ "SELECT %s FROM \"%s_TEMP\" "
++ "WHERE ID IS NOT NULL AND \"%s\" IS NOT NULL",
+ service_name, field_name,
+- n_in_col_sql->str, n_sel_col_sql->str,
+- service_name);
++ n_in_col_sql->str, n_sel_col_sql->str,
++ service_name, field_name);
+
+ g_string_free (n_in_col_sql, TRUE);
+ g_string_free (n_sel_col_sql, TRUE);
+--
+2.1.0
+
diff --git a/tracker.spec b/tracker.spec
index b9f8915..9305afc 100644
--- a/tracker.spec
+++ b/tracker.spec
@@ -16,7 +16,7 @@
Name: tracker
Version: 1.3.3
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Desktop-neutral search tool and indexer
Group: Applications/System
@@ -27,6 +27,8 @@ Source0: https://download.gnome.org/sources/%{name}/1.3/%{name}-%{version
# only autostart in Gnome, see also
# https://bugzilla.redhat.com/show_bug.cgi?id=771601
Patch0: 0001-Only-autostart-in-GNOME-771601.patch
+# https://bugzilla.gnome.org/show_bug.cgi?id=743727
+Patch1: 0001-data-manager-Account-for-cardinality-0-on-DB-migrati.patch
BuildRequires: desktop-file-utils
BuildRequires: firefox
@@ -172,6 +174,7 @@ This package contains the documentation for tracker
%setup -q
%patch0 -p1 -b .autostart-gnome
+%patch1 -p1 -b .cardinality
## nuke unwanted rpaths, see also
## https://fedoraproject.org/wiki/Packaging/Guidelines#Beware_of_Rpath
@@ -318,6 +321,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%changelog
+* Tue Mar 03 2015 Debarshi Ray <rishi at fedoraproject.org> - 1.3.3-2
+- Backport upstream patch to fix database migration failures (GNOME #743727)
+
* Fri Feb 06 2015 David King <amigadave at amigadave.com> - 1.3.3-1
- Update to 1.3.3
More information about the scm-commits
mailing list