diff options
author | Seif Lotfy <seif@lotfy.com> | 2013-10-13 22:39:07 +0200 |
---|---|---|
committer | Seif Lotfy <seif@lotfy.com> | 2013-10-13 22:39:07 +0200 |
commit | 01ead102dddba5e87b8722bcf7d522c33de3faf7 (patch) | |
tree | bea5e4872cf2f5a8e9240a1528da5d19baa8bd5c | |
parent | 64041bff269be52d64c2c3a27665137f90c68cc1 (diff) | |
download | zeitgeist-01ead102dddba5e87b8722bcf7d522c33de3faf7.tar.gz |
Setup fts database
-rw-r--r-- | extensions/fts++/indexer.vala | 33 |
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) |