Skip to content

Commit 7f2773f

Browse files
committed
Fix issue with pgsql when usage column is enabled
1 parent cb8038b commit 7f2773f

3 files changed

Lines changed: 12 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## [Unreleased] 1.0.6
2+
### Fixed
3+
- Fix issue with pgsql when usage column is enabled
4+
15
## 1.0.5 - 2019-06-26
26
### Added
37
- Add 'Usage' column to tags index table (#10)

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "ether/tags",
33
"description": "A tag manager for Craft 3",
44
"type": "craft-plugin",
5-
"version": "1.0.5",
5+
"version": "1.0.6",
66
"keywords": [
77
"craft",
88
"cms",

src/elements/db/TagQuery.php

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,22 @@
2020
class TagQuery extends \craft\elements\db\TagQuery
2121
{
2222

23-
protected function beforePrepare (): bool
23+
protected function afterPrepare (): bool
2424
{
2525
if (!TagManager::getInstance()->getSettings()->enableUsage)
26-
return parent::beforePrepare();
26+
return parent::afterPrepare();
27+
28+
if (count($this->query->select) === 1 && strtoupper($this->query->select[0]) === 'COUNT(*)')
29+
return parent::afterPrepare();
2730

2831
$getUsage = new Expression(
2932
'(SELECT COUNT(*) FROM (SELECT [[r.sourceId]], [[r.sourceSiteId]] FROM {{%relations}} r WHERE [[r.targetId]] = [[elements.id]] GROUP BY [[r.sourceId]], [[r.sourceSiteId]]) as usage) as [[usage]]'
3033
);
3134

32-
$this->addSelect($getUsage);
35+
$this->query->addSelect(new Expression('[[subquery.usage]] as [[usage]]'));
3336
$this->subQuery->addSelect($getUsage);
3437

35-
return parent::beforePrepare();
38+
return parent::afterPrepare();
3639
}
3740

3841
}

0 commit comments

Comments
 (0)