[Zeitgeist] [Merge] lp:~rainct/zeitgeist/961974 into lp:zeitgeist

2012-04-05 Thread Siegfried Gevatter
Siegfried Gevatter has proposed merging lp:~rainct/zeitgeist/961974 into 
lp:zeitgeist.

Requested reviews:
  Zeitgeist Framework Team (zeitgeist)
Related bugs:
  Bug #961974 in Zeitgeist Framework: Recover from Zeitgeist database 
corruption (detected at query time)
  https://bugs.launchpad.net/zeitgeist/+bug/961974

For more details, see:
https://code.launchpad.net/~rainct/zeitgeist/961974/+merge/100946
-- 
https://code.launchpad.net/~rainct/zeitgeist/961974/+merge/100946
Your team Zeitgeist Framework Team is requested to review the proposed merge of 
lp:~rainct/zeitgeist/961974 into lp:zeitgeist.
=== modified file 'extensions/histogram.vala'
--- extensions/histogram.vala	2011-12-07 12:17:29 +
+++ extensions/histogram.vala	2012-04-05 12:15:23 +
@@ -96,14 +96,8 @@
 
 builder.add ((xu), t, count);
 }
-
-if (rc != Sqlite.DONE)
-{
-string error_message = Error in get_histogram_data:  +
-%d, %s.printf (rc, db.errmsg ());
-warning (%s, error_message);
-throw new EngineError.DATABASE_ERROR (error_message);
-}
+database.assert_query_success (rc, Error in get_histogram_data,
+Sqlite.DONE);
 
 return builder.end ();
 }

=== modified file 'src/db-reader.vala'
--- src/db-reader.vala	2012-03-19 19:56:38 +
+++ src/db-reader.vala	2012-04-05 12:15:23 +
@@ -55,13 +55,22 @@
 database.set_deletion_callback (delete_from_cache);
 db = database.database;
 
-interpretations_table = new TableLookup (database, interpretation);
-manifestations_table = new TableLookup (database, manifestation);
-mimetypes_table = new TableLookup (database, mimetype);
-actors_table = new TableLookup (database, actor);
+try
+{
+interpretations_table = new TableLookup (database, interpretation);
+manifestations_table = new TableLookup (database, manifestation);
+mimetypes_table = new TableLookup (database, mimetype);
+actors_table = new TableLookup (database, actor);
+}
+catch (EngineError err)
+{
+// FIXME: propagate this properly?
+critical (TableLookup initialization failed: %s, err.message);
+}
 }
 
 protected Event get_event_from_row (Sqlite.Statement stmt, uint32 event_id)
+throws EngineError
 {
 Event event = new Event ();
 event.id = event_id;
@@ -88,6 +97,7 @@
 }
 
 protected Subject get_subject_from_row (Sqlite.Statement stmt)
+throws EngineError
 {
 Subject subject = new Subject ();
 subject.uri = stmt.column_text (EventViewRows.SUBJECT_URI);
@@ -142,11 +152,7 @@
 Subject subject = get_subject_from_row(stmt);
 event.add_subject(subject);
 }
-if (rc != Sqlite.DONE)
-{
-throw new EngineError.DATABASE_ERROR (Error: %d, %s\n,
-rc, db.errmsg ());
-}
+database.assert_query_success (rc, Error, Sqlite.DONE);
 
 // Sort events according to the sequence of event_ids
 var results = new GenericArrayEvent? ();
@@ -270,7 +276,7 @@
 warning (error_message);
 throw new EngineError.INVALID_ARGUMENT (error_message);
 }
-
+
 // complete the sort rule
 bool time_asc = ResultType.is_sort_order_asc ((ResultType) result_type);
 sql +=  timestamp %s.printf ((time_asc) ? ASC : DESC);
@@ -306,6 +312,7 @@
 string error_message = Error in find_event_ids: %d, %s.printf (
 rc, db.errmsg ());
 warning (error_message);
+database.assert_not_corrupt (rc);
 throw new EngineError.DATABASE_ERROR (error_message);
 }
 
@@ -458,14 +465,7 @@
 // for (int i=0; irelated_uris.length; i++)
 //related_uris[i] = temp_related_uris[i];
 
-if (rc != Sqlite.DONE)
-{
-string error_message =
-Error in find_related_uris: %d, %s.printf (
-rc, db.errmsg ());
-warning (error_message);
-throw new EngineError.DATABASE_ERROR (error_message);
-}
+database.assert_query_success (rc, Error in find_related_uris);
 
 var uri_counter = new HashTablestring, RelatedUri?(
 str_hash, str_equal);

=== modified file 'src/engine.vala'
--- src/engine.vala	2012-03-14 14:26:11 +
+++ src/engine.vala	2012-04-05 12:15:23 +
@@ -241,6 +241,7 @@
 if ((rc = insert_stmt.step()) != Sqlite.DONE) {
 if (rc != Sqlite.CONSTRAINT)
 {
+database.assert_not_corrupt (rc);
 warning (SQL error: %d, %s\n, rc, db.errmsg ());
 return 0

Re: [Zeitgeist] [Merge] lp:~rainct/zeitgeist/961974 into lp:zeitgeist

2012-04-05 Thread Seif Lotfy
Review: Approve

Looks good, very simple. Nice job
-- 
https://code.launchpad.net/~rainct/zeitgeist/961974/+merge/100946
Your team Zeitgeist Framework Team is subscribed to branch lp:zeitgeist.

___
Mailing list: https://launchpad.net/~zeitgeist
Post to : zeitgeist@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zeitgeist
More help   : https://help.launchpad.net/ListHelp


[Zeitgeist] [Merge] lp:~rainct/zeitgeist/961974 into lp:zeitgeist

2012-04-05 Thread noreply
The proposal to merge lp:~rainct/zeitgeist/961974 into lp:zeitgeist has been 
updated.

Status: Needs review = Merged

For more details, see:
https://code.launchpad.net/~rainct/zeitgeist/961974/+merge/100946
-- 
https://code.launchpad.net/~rainct/zeitgeist/961974/+merge/100946
Your team Zeitgeist Framework Team is subscribed to branch lp:zeitgeist.

___
Mailing list: https://launchpad.net/~zeitgeist
Post to : zeitgeist@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zeitgeist
More help   : https://help.launchpad.net/ListHelp