summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeif Lotfy <seif@lotfy.com>2013-04-16 14:10:22 +0200
committerSeif Lotfy <seif@lotfy.com>2013-04-16 15:21:50 +0200
commit486dc0747aeaf283522842497ef46bf5e5cd7ae3 (patch)
tree9d8454fe534172afe9b38f1de9113e56ae85f51e
parentd236022dffda56d71aba0a7b21befec6090b989a (diff)
Adjust resetting of statement to proper sequence
-rw-r--r--src/engine.vala30
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);