summaryrefslogtreecommitdiff
path: root/Simulator/src
diff options
context:
space:
mode:
Diffstat (limited to 'Simulator/src')
-rw-r--r--Simulator/src/database/Database.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/Simulator/src/database/Database.cpp b/Simulator/src/database/Database.cpp
index bb76abda..b953bc73 100644
--- a/Simulator/src/database/Database.cpp
+++ b/Simulator/src/database/Database.cpp
@@ -76,6 +76,12 @@ namespace Database
});
history.clearHistory();
+
+ uint32_t lastSimulatedTick = experiment.getCurrentTick() - 1;
+ QueryExecuter<> writeLastSimulatedTick(db);
+ writeLastSimulatedTick.setQuery(Queries::WRITE_EXPERIMENT_LAST_SIMULATED_TICK)
+ .bindParams<int, int>(lastSimulatedTick, experiment.getId())
+ .executeOnce();
}
int Database::pollQueuedExperiments() const
@@ -91,11 +97,20 @@ namespace Database
void Database::dequeueExperiment(int experimentId) const
{
QueryExecuter<> q(db);
- q.setQuery(Queries::REMOVE_QUEUED_EXPERIMENT)
+ q.setQuery(Queries::SET_EXPERIMENT_STATE_SIMULATING)
.bindParams<int>(experimentId)
.executeOnce();
}
+ void Database::finishExperiment(int id) const
+ {
+ QueryExecuter<> q(db);
+ q.setQuery(Queries::SET_EXPERIMENT_STATE_FINISHED)
+ .bindParams<int>(id)
+ .executeOnce();
+ }
+
+
Simulation::Experiment Database::createExperiment(uint32_t experimentId)
{
// Retrieves the experiment data by ID