diff options
author | Seif Lotfy <seif@lotfy.com> | 2013-04-16 14:10:22 +0200 |
---|---|---|
committer | Seif Lotfy <seif@lotfy.com> | 2013-04-16 15:21:50 +0200 |
commit | 486dc0747aeaf283522842497ef46bf5e5cd7ae3 (patch) | |
tree | 9d8454fe534172afe9b38f1de9113e56ae85f51e | |
parent | d236022dffda56d71aba0a7b21befec6090b989a (diff) | |
download | zeitgeist-486dc0747aeaf283522842497ef46bf5e5cd7ae3.tar.gz |
Adjust resetting of statement to proper sequence
-rw-r--r-- | src/engine.vala | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/src/engine.vala b/src/engine.vala index 5190f30a..a857e030 100644 --- a/src/engine.vala +++ b/src/engine.vala @@ -293,23 +293,19 @@ public class Engine : DbReader int rc; unowned Sqlite.Statement insert_stmt = database.event_insertion_stmt; - // We need to call reset here (even if we do so again in the subjects - // loop) since calling .bind_* after a .step() invocation is illegal. - insert_stmt.reset (); - - insert_stmt.bind_int64 (1, event.id); - insert_stmt.bind_int64 (2, event.timestamp); - bind_cached_reference (insert_stmt, 3, interpretations_table, - event.interpretation); - bind_cached_reference (insert_stmt, 4, manifestations_table, - event.manifestation); - bind_cached_reference (insert_stmt, 5, actors_table, event.actor); - insert_stmt.bind_text (6, event.origin); - insert_stmt.bind_int64 (7, payload_id); - - for (int i = 0; i < event.num_subjects(); ++i) + for (int i = 0; i < event.num_subjects (); ++i) { - insert_stmt.reset(); + insert_stmt.reset (); + + insert_stmt.bind_int64 (1, event.id); + insert_stmt.bind_int64 (2, event.timestamp); + bind_cached_reference (insert_stmt, 3, interpretations_table, + event.interpretation); + bind_cached_reference (insert_stmt, 4, manifestations_table, + event.manifestation); + bind_cached_reference (insert_stmt, 5, actors_table, event.actor); + insert_stmt.bind_text (6, event.origin); + insert_stmt.bind_int64 (7, payload_id); unowned Subject subject = event.subjects[i]; @@ -327,7 +323,7 @@ public class Engine : DbReader // FIXME: Consider a storages_table table. Too dangerous? insert_stmt.bind_text (16, subject.storage); - if ((rc = insert_stmt.step()) != Sqlite.DONE) { + if ((rc = insert_stmt.step ()) != Sqlite.DONE) { if (rc != Sqlite.CONSTRAINT) { database.assert_not_corrupt (rc); |