diff options
author | Thomas Steur <thomas.steur@gmail.com> | 2015-03-16 08:03:39 +0300 |
---|---|---|
committer | Thomas Steur <thomas.steur@gmail.com> | 2015-03-18 03:15:08 +0300 |
commit | 0bbbdc851366a1b5cd7179a7de313caa655a6fda (patch) | |
tree | 1fd3d8c8a8369f25f4b45ff7b7b06b731c9f225a /core/ArchiveProcessor.php | |
parent | f1894a1aee763f840a6d541aec6db9ca2c05337e (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.php | 22 |
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(); |