Added re-prepare of queries to eliminate 'parameter mismatch' exception.

This commit is contained in:
Iron Prando da Silva
2022-03-08 09:17:15 +01:00
parent c2508a6681
commit 6393eafb8f
3 changed files with 14 additions and 6 deletions

View File

@@ -45,7 +45,6 @@ PhaseDependenciesTracker::calculateDependencies(TraceDB& tdb, std::vector<QStrin
using std::chrono::duration;
using std::chrono::microseconds;
auto deviceInstantiationTimeStart = high_resolution_clock::now();
auto deviceConfig = ConfigurationFactory::make(tdb);
auto deviceInstantiationTimeEnd = high_resolution_clock::now();
@@ -71,12 +70,20 @@ PhaseDependenciesTracker::calculateDependencies(TraceDB& tdb, std::vector<QStrin
mCreateTable(tdb);
}
mInsertIntoTable(tdb, entries);
auto tableInsertionTimeStart = high_resolution_clock::now();
mInsertIntoTable(tdb, entries);
auto tableInsertionTimeEnd = high_resolution_clock::now();
auto tableInsertionTimeDuration = duration_cast<microseconds>(tableInsertionTimeEnd - tableInsertionTimeStart);
auto totalTime = deviceInstantiationTimeDuration + phasesLoadingTimeDuration + dependenciesCalcTimeDuration + tableInsertionTimeDuration;
std::cout << "PhaseDependenciesTracker times (us):" << std::endl
<< "\tDevice instantiation: " << deviceInstantiationTimeDuration.count() << std::endl
<< "\tPhase loading: " << phasesLoadingTimeDuration.count() << std::endl
<< "\tDependencies calculation: " << dependenciesCalcTimeDuration.count() << std::endl;
<< "\tDependencies calculation: " << dependenciesCalcTimeDuration.count() << std::endl
<< "\tDB table population: " << tableInsertionTimeDuration.count() << std::endl
<< " - Total time: " << totalTime.count() << std::endl;
} else {
// TODO - not sure if necessary. Still, a possibility
@@ -104,7 +111,7 @@ void PhaseDependenciesTracker::mCreateTable(TraceDB& tdb) {
}
void PhaseDependenciesTracker::mInsertIntoTable(TraceDB& tdb, const std::vector<DBDependencyEntry>& entries) {
static const size_t bulkInsertionSize = 200;
static const size_t bulkInsertionSize = 30;
auto numberOfEntries = entries.size();

View File

@@ -65,7 +65,7 @@ private:
static void mRollbackChanges(TraceDB& tdb);
static void mCommitTransaction(TraceDB& tdb);
static void mAddFirstEntryCommandString(QString& command, const DBDependencyEntry& entry);
static void mAddEntryCommandString(QString& command, const DBDependencyEntry& entry);
inline static void mAddFirstEntryCommandString(QString& command, const DBDependencyEntry& entry);
inline static void mAddEntryCommandString(QString& command, const DBDependencyEntry& entry);
};

View File

@@ -130,6 +130,7 @@ void TraceDB::updateFileDescription(const QString &description)
void TraceDB::refreshData()
{
prepareQueries();
generalInfo = getGeneralInfoFromDB();
}