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 /actions/favorited.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 'actions/favorited.php')
-rw-r--r-- | actions/favorited.php | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/actions/favorited.php b/actions/favorited.php index fd5ff413c..5082f4a4e 100644 --- a/actions/favorited.php +++ b/actions/favorited.php @@ -169,8 +169,14 @@ class FavoritedAction extends Action function showContent() { + if (common_config('db', 'type') == 'pgsql') { + $weightexpr='sum(exp(-extract(epoch from (now() - fave.modified)) / %s))'; + } else { + $weightexpr='sum(exp(-(now() - fave.modified) / %s))'; + } + $qry = 'SELECT notice.*, '. - 'sum(exp(-(now() - fave.modified) / %s)) as weight ' . + $weightexpr . ' as weight ' . 'FROM notice JOIN fave ON notice.id = fave.notice_id ' . 'GROUP BY fave.notice_id ' . 'ORDER BY weight DESC'; |