[epiphany/history-rewrite: 36/45] ephy-history-service: Enable foreign keys in the database connection
- From: Claudio Saavedra <csaavedra src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany/history-rewrite: 36/45] ephy-history-service: Enable foreign keys in the database connection
- Date: Wed, 24 Aug 2011 19:42:20 +0000 (UTC)
commit 7e5dbba84869e4ba9b5dea9834bfa9c249a31356
Author: Claudio Saavedra <csaavedra igalia com>
Date: Thu Jul 21 12:22:28 2011 +0300
ephy-history-service: Enable foreign keys in the database connection
We will use them to remove visits history automatically when removing
urls from the history.
lib/history/ephy-history-service.c | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
---
diff --git a/lib/history/ephy-history-service.c b/lib/history/ephy-history-service.c
index fccda0e..d60c347 100644
--- a/lib/history/ephy-history-service.c
+++ b/lib/history/ephy-history-service.c
@@ -216,6 +216,24 @@ ephy_history_service_commit (EphyHistoryService *self)
return FALSE;
}
+static void
+ephy_history_service_enable_foreign_keys (EphyHistoryService *self)
+{
+ EphyHistoryServicePrivate *priv = EPHY_HISTORY_SERVICE (self)->priv;
+ GError *error = NULL;
+
+ if (NULL == priv->history_database)
+ return;
+
+ ephy_sqlite_connection_execute (priv->history_database,
+ "PRAGMA foreign_keys = ON", &error);
+
+ if (error) {
+ g_error ("Could not enable foreign keys pragma: %s", error->message);
+ g_error_free (error);
+ }
+}
+
void
ephy_history_service_schedule_commit (EphyHistoryService *self)
{
@@ -240,6 +258,8 @@ ephy_history_service_open_database_connections (EphyHistoryService *self)
return FALSE;
}
+ ephy_history_service_enable_foreign_keys (self);
+
ephy_sqlite_connection_begin_transaction (priv->history_database, &error);
if (error) {
g_error ("Could not begin long running transaction in history database: %s", error->message);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]