[tracker] libtracker-data: Avoid doubly creating resource triggers
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker] libtracker-data: Avoid doubly creating resource triggers
- Date: Mon, 7 Aug 2017 16:26:34 +0000 (UTC)
commit 019761e203eb60a60a5a6aea45d0d250e07fb546
Author: Carlos Garnacho <carlosg gnome org>
Date: Mon Aug 7 17:49:01 2017 +0200
libtracker-data: Avoid doubly creating resource triggers
This code is run on table updates, in which case the triggers already
correctly exist. Ensure the trigger creation won't fail if it already
exists.
src/libtracker-data/tracker-data-manager.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c
index 4aa7df7..1375c1f 100644
--- a/src/libtracker-data/tracker-data-manager.c
+++ b/src/libtracker-data/tracker-data-manager.c
@@ -2918,7 +2918,7 @@ create_triggers_on_rowid (TrackerDBInterface *iface,
}
tracker_db_interface_execute_query (iface, &internal_error,
- "CREATE TRIGGER \"trigger_insert_%s\" "
+ "CREATE TRIGGER IF NOT EXISTS \"trigger_insert_%s\" "
"AFTER INSERT ON \"%s\" "
"FOR EACH ROW BEGIN "
"UPDATE Resource SET Refcount = Refcount + 1 WHERE Resource.rowid
= NEW.ID;"
@@ -2931,7 +2931,7 @@ create_triggers_on_rowid (TrackerDBInterface *iface,
}
tracker_db_interface_execute_query (iface, &internal_error,
- "CREATE TRIGGER \"trigger_delete_%s\" "
+ "CREATE TRIGGER IF NOT EXISTS \"trigger_delete_%s\" "
"AFTER DELETE ON \"%s\" "
"FOR EACH ROW BEGIN "
"UPDATE Resource SET Refcount = Refcount - 1 WHERE Resource.rowid
= OLD.ID;"
@@ -2993,7 +2993,7 @@ create_table_triggers (TrackerDataManager *manager,
}
tracker_db_interface_execute_query (iface, &internal_error,
- "CREATE TRIGGER \"trigger_update_%s_%s\" "
+ "CREATE TRIGGER IF NOT EXISTS \"trigger_update_%s_%s\" "
"AFTER UPDATE OF \"%s\" ON \"%s\" "
"FOR EACH ROW BEGIN "
"UPDATE Resource SET Refcount = Refcount + 1 WHERE
Resource.rowid = NEW.\"%s\";"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]