From e0b305fd1d845cba1b11578722f88adb193f756e Mon Sep 17 00:00:00 2001 From: Matthijs Bijman Date: Thu, 16 Feb 2017 22:06:09 +0100 Subject: Update simulator to work with new db schema The new schema removes the queued_simulation_section table and introduces the state and last_simulated_tick columns to the experiments table. --- Simulator/src/database/Database.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'Simulator/src/database') 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(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(experimentId) .executeOnce(); } + void Database::finishExperiment(int id) const + { + QueryExecuter<> q(db); + q.setQuery(Queries::SET_EXPERIMENT_STATE_FINISHED) + .bindParams(id) + .executeOnce(); + } + + Simulation::Experiment Database::createExperiment(uint32_t experimentId) { // Retrieves the experiment data by ID -- cgit v1.2.3