summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeif Lotfy <seif@lotfy.com>2013-10-13 22:39:07 +0200
committerSeif Lotfy <seif@lotfy.com>2013-10-13 22:39:07 +0200
commit01ead102dddba5e87b8722bcf7d522c33de3faf7 (patch)
treebea5e4872cf2f5a8e9240a1528da5d19baa8bd5c
parent64041bff269be52d64c2c3a27665137f90c68cc1 (diff)
downloadzeitgeist-01ead102dddba5e87b8722bcf7d522c33de3faf7.tar.gz
Setup fts database
-rw-r--r--extensions/fts++/indexer.vala33
1 files changed, 33 insertions, 0 deletions
diff --git a/extensions/fts++/indexer.vala b/extensions/fts++/indexer.vala
index ac76855e..e1e70a25 100644
--- a/extensions/fts++/indexer.vala
+++ b/extensions/fts++/indexer.vala
@@ -18,14 +18,47 @@
*
*/
+
+using Zeitgeist;
+using Zeitgeist.SQLite;
+
namespace Zeitgeist
{
public class Indexer : Object
{
+ private bool is_read_only = false;
+ private Sqlite.Database database;
+ private const int DEFAULT_OPEN_FLAGS =
+ Sqlite.OPEN_READWRITE | Sqlite.OPEN_CREATE;
public Indexer () throws EngineError
{
+ database = null;
+ setup_database ();
+ }
+
+ public Indexer.ready_only () throws EngineError
+ {
+ }
+
+ private void setup_database ()
+ {
+ string database_path = "%s/%s".printf (Utils.get_data_path (),
+ "zgfts.sqlite");
+ int flags = is_read_only ? Sqlite.OPEN_READONLY : DEFAULT_OPEN_FLAGS;
+ int rc = Sqlite.Database.open_v2 (
+ database_path,
+ out database, flags);
+ if (rc == Sqlite.OK)
+ {
+ DatabaseSchema.exec_query (database,
+ """
+ CREATE virtual TABLE IF NOT EXISTS events USING fts4
+ (event_id, event_timestmap, event_actor, event_origin,
+ subj_current_uri, subj_origin, subj_text)
+ """);
+ }
}
public void index_events (GenericArray<Event> events)