Added re-prepare of queries to eliminate 'parameter mismatch' exception.
This commit is contained in:
@@ -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();
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
};
|
||||
|
||||
@@ -130,6 +130,7 @@ void TraceDB::updateFileDescription(const QString &description)
|
||||
|
||||
void TraceDB::refreshData()
|
||||
{
|
||||
prepareQueries();
|
||||
generalInfo = getGeneralInfoFromDB();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user