summaryrefslogtreecommitdiff
path: root/actions/favorited.php
diff options
context:
space:
mode:
authorCiaranG <ciaran@ciarang.com>2009-03-04 15:32:26 +0000
committerCiaranG <ciaran@ciarang.com>2009-03-04 15:32:26 +0000
commit115519a5e7e84e57656c653918efb39ab4107fe9 (patch)
tree2c66758d4df65f8d9b76cc17a6893c662debdf16 /actions/favorited.php
parentc02a2f189139bd3588b04e557239e243805aaeac (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.php8
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';