diff options
author | CiaranG <ciaran@ciarang.com> | 2009-03-04 15:32:26 +0000 |
---|---|---|
committer | CiaranG <ciaran@ciarang.com> | 2009-03-04 15:32:26 +0000 |
commit | 115519a5e7e84e57656c653918efb39ab4107fe9 (patch) | |
tree | 2c66758d4df65f8d9b76cc17a6893c662debdf16 /lib/personaltagcloudsection.php | |
parent | c02a2f189139bd3588b04e557239e243805aaeac (diff) |
PostgreSQL - made all 'weight' calculating SQL expressions compatible with both databases, and made some GROUP BY queries more explicit about the fields they are selecting, for the same reason.
Diffstat (limited to 'lib/personaltagcloudsection.php')
-rw-r--r-- | lib/personaltagcloudsection.php | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/personaltagcloudsection.php b/lib/personaltagcloudsection.php index 0882822db..978153a84 100644 --- a/lib/personaltagcloudsection.php +++ b/lib/personaltagcloudsection.php @@ -58,8 +58,14 @@ class PersonalTagCloudSection extends TagCloudSection function getTags() { - $qry = 'SELECT notice_tag.tag, '. - 'sum(exp(-(now() - notice_tag.created)/%s)) as weight ' . + if (common_config('db', 'type') == 'pgsql') { + $weightexpr='sum(exp(-extract(epoch from (now() - notice_tag.created)) / %s))'; + } else { + $weightexpr='sum(exp(-(now() - notice_tag.created) / %s))'; + } + + $qry = 'SELECT notice_tag.tag, '. + $weightexpr . ' as weight ' . 'FROM notice_tag JOIN notice ' . 'ON notice_tag.notice_id = notice.id ' . 'WHERE notice.profile_id = %d ' . |