Missed some potentially unnecessary database queries of the dependencies.

This commit is contained in:
Iron Prando da Silva
2021-11-11 10:39:13 +01:00
parent 6a260ef860
commit c895c96b44
4 changed files with 11 additions and 7 deletions

View File

@@ -141,12 +141,12 @@ vector<shared_ptr<Transaction>> TraceDB::getTransactionsWithCustomQuery(
}
vector<shared_ptr<Transaction>> TraceDB::getTransactionsInTimespan(
const Timespan &span)
const Timespan &span, bool updateVisiblePhases)
{
selectTransactionsByTimespan.bindValue(":begin", span.Begin());
selectTransactionsByTimespan.bindValue(":end", span.End());
executeQuery(selectTransactionsByTimespan);
return parseTransactionsFromQuery(selectTransactionsByTimespan, true);
return parseTransactionsFromQuery(selectTransactionsByTimespan, updateVisiblePhases);
}
void TraceDB::updateDependenciesInTimespan(const Timespan &span)

View File

@@ -88,7 +88,7 @@ public:
std::vector<std::shared_ptr<Transaction>> getTransactionsWithCustomQuery(
QString queryText);
std::vector<std::shared_ptr<Transaction>> getTransactionsInTimespan(
const Timespan &span);
const Timespan &span, bool updateVisiblePhases = false);
std::shared_ptr<Transaction> getNextPrecharge(traceTime time);
std::shared_ptr<Transaction> getNextActivate(traceTime time);
std::shared_ptr<Transaction> getNextRefresh(traceTime time);

View File

@@ -506,9 +506,11 @@ void TracePlot::setZoomLevel(traceTime newZoomLevel)
void TracePlot::currentTraceTimeChanged()
{
bool drawDependencies = getDrawingProperties().drawDependenciesOption.draw != DependencyOption::Disabled;
transactions = navigator->TraceFile().getTransactionsInTimespan(
GetCurrentTimespan());
if (getDrawingProperties().drawDependenciesOption.draw != DependencyOption::Disabled) {
GetCurrentTimespan(), drawDependencies);
if (drawDependencies) {
navigator->TraceFile().updateDependenciesInTimespan(GetCurrentTimespan());
}

View File

@@ -193,12 +193,14 @@ void TraceScroller::colorGroupingChanged(ColorGrouping colorGrouping)
void TraceScroller::currentTraceTimeChanged()
{
bool drawDependencies = drawingProperties.drawDependenciesOption.draw != DependencyOption::Disabled;
Timespan spanOnTracePlot = tracePlot->GetCurrentTimespan();
canvasClip->setInterval(spanOnTracePlot.Begin(), spanOnTracePlot.End());
Timespan span = GetCurrentTimespan();
transactions = navigator->TraceFile().getTransactionsInTimespan(span);
transactions = navigator->TraceFile().getTransactionsInTimespan(span, drawDependencies);
if (drawingProperties.drawDependenciesOption.draw != DependencyOption::Disabled) {
if (drawDependencies) {
navigator->TraceFile().updateDependenciesInTimespan(span);
}