summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSiegfried-Angel Gevatter Pujals <siegfried@gevatter.com>2012-10-09 14:54:04 +0200
committerSiegfried-Angel Gevatter Pujals <siegfried@gevatter.com>2012-10-09 14:54:04 +0200
commitb3eed8effa815f57e876509db9ac2eabb4aa0244 (patch)
treee06e83c3b5ec1588a79c17b18ab35167db244d56 /src
parente139c0d887195dfb62b2fc9ba39dc5c9fdc00231 (diff)
downloadzeitgeist-b3eed8effa815f57e876509db9ac2eabb4aa0244.tar.gz
Sorting by CurrentOrigin (w/ test cases)
Diffstat (limited to 'src')
-rw-r--r--src/db-reader.vala12
-rw-r--r--src/engine.vala7
-rw-r--r--src/sql.vala1
3 files changed, 17 insertions, 3 deletions
diff --git a/src/db-reader.vala b/src/db-reader.vala
index b0853808..7e280df6 100644
--- a/src/db-reader.vala
+++ b/src/db-reader.vala
@@ -249,6 +249,18 @@ public class DbReader : Object
case ResultType.LEAST_POPULAR_ORIGIN:
sql += group_and_sort ("subj_origin", where_sql, true);
break;
+ case ResultType.MOST_RECENT_CURRENT_ORIGIN:
+ sql += group_and_sort ("subj_origin_current", where_sql);
+ break;
+ case ResultType.LEAST_RECENT_CURRENT_ORIGIN:
+ sql += group_and_sort ("subj_origin_current", where_sql);
+ break;
+ case ResultType.MOST_POPULAR_CURRENT_ORIGIN:
+ sql += group_and_sort ("subj_origin_current", where_sql, false);
+ break;
+ case ResultType.LEAST_POPULAR_CURRENT_ORIGIN:
+ sql += group_and_sort ("subj_origin_current", where_sql, true);
+ break;
case ResultType.MOST_RECENT_SUBJECT_INTERPRETATION:
sql += group_and_sort ("subj_interpretation", where_sql);
break;
diff --git a/src/engine.vala b/src/engine.vala
index e574c899..094c676b 100644
--- a/src/engine.vala
+++ b/src/engine.vala
@@ -415,9 +415,10 @@ public class Engine : DbReader
unowned Sqlite.Statement move_stmt = database.move_handling_stmt;
move_stmt.reset();
move_stmt.bind_text (1, subject.current_uri);
- move_stmt.bind_text (2, subject.uri);
- move_stmt.bind_text (3, event.interpretation);
- move_stmt.bind_int64 (4, event.timestamp);
+ move_stmt.bind_text (2, subject.current_origin);
+ move_stmt.bind_text (3, subject.uri);
+ move_stmt.bind_text (4, event.interpretation);
+ move_stmt.bind_int64 (5, event.timestamp);
if ((rc = move_stmt.step()) != Sqlite.DONE) {
if (rc != Sqlite.CONSTRAINT)
{
diff --git a/src/sql.vala b/src/sql.vala
index 7ee4f903..e208e771 100644
--- a/src/sql.vala
+++ b/src/sql.vala
@@ -430,6 +430,7 @@ namespace Zeitgeist.SQLite
sql = """
UPDATE event
SET subj_id_current=(SELECT id FROM uri WHERE value=?)
+ , subj_origin_current=(SELECT id FROM uri WHERE value=?)
WHERE subj_id_current=(SELECT id FROM uri WHERE value=?)
AND interpretation!=? AND timestamp<?
""";