Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Steur <thomas.steur@gmail.com>2015-03-16 08:03:39 +0300
committerThomas Steur <thomas.steur@gmail.com>2015-03-18 03:15:08 +0300
commit0bbbdc851366a1b5cd7179a7de313caa655a6fda (patch)
tree1fd3d8c8a8369f25f4b45ff7b7b06b731c9f225a /core/ArchiveProcessor.php
parentf1894a1aee763f840a6d541aec6db9ca2c05337e (diff)
Various performance improvements and bugfixes.
Imporves performance for Archiving and Range dates. Makes all kind of reports faster as well. Fixed bugs in labelFilter, reports total calculation and more.
Diffstat (limited to 'core/ArchiveProcessor.php')
-rw-r--r--core/ArchiveProcessor.php22
1 files changed, 17 insertions, 5 deletions
diff --git a/core/ArchiveProcessor.php b/core/ArchiveProcessor.php
index cb24d83367..ee5e918e5d 100644
--- a/core/ArchiveProcessor.php
+++ b/core/ArchiveProcessor.php
@@ -351,7 +351,12 @@ class ArchiveProcessor
// see https://github.com/piwik/piwik/issues/4377
$self = $this;
$dataTable->filter(function ($table) use ($self, $columnsToRenameAfterAggregation) {
- $self->renameColumnsAfterAggregation($table, $columnsToRenameAfterAggregation);
+
+ /** @var \Piwik\Period $period */
+ $period = $table->getMetadata('period');
+ if (!$period || $period->getLabel() === 'day') {
+ $self->renameColumnsAfterAggregation($table, $columnsToRenameAfterAggregation);
+ }
});
}
@@ -360,7 +365,7 @@ class ArchiveProcessor
if (!$columnsRenamed) {
$this->renameColumnsAfterAggregation($dataTable, $columnsToRenameAfterAggregation);
}
-
+
return $dataTable;
}
@@ -499,8 +504,15 @@ class ArchiveProcessor
$columnsToRenameAfterAggregation = self::$columnsToRenameAfterAggregation;
}
- foreach ($columnsToRenameAfterAggregation as $oldName => $newName) {
- $table->renameColumn($oldName, $newName);
+ foreach ($table->getRows() as $row) {
+ foreach ($columnsToRenameAfterAggregation as $oldName => $newName) {
+ $row->renameColumn($oldName, $newName);
+ }
+
+ $subTable = $row->getSubtable();
+ if ($subTable) {
+ $this->renameColumnsAfterAggregation($subTable, $columnsToRenameAfterAggregation);
+ }
}
}
@@ -524,7 +536,7 @@ class ArchiveProcessor
$rowMetrics = new Row;
}
$this->enrichWithUniqueVisitorsMetric($rowMetrics);
- $this->renameColumnsAfterAggregation($results);
+ $this->renameColumnsAfterAggregation($results, self::$columnsToRenameAfterAggregation);
$metrics = $rowMetrics->getColumns();