From c08e4d904ec80144379c5728e2274e3513e6c819 Mon Sep 17 00:00:00 2001 From: CiaranG Date: Wed, 11 Mar 2009 23:41:30 +0000 Subject: [PATCH] PostgreSQL - a few more query compatibility issues (submitted by oxygene) --- actions/peopletag.php | 2 +- actions/sup.php | 4 +++- classes/Notice.php | 6 +++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/actions/peopletag.php b/actions/peopletag.php index 6b1e34f1ab..5add754858 100644 --- a/actions/peopletag.php +++ b/actions/peopletag.php @@ -119,7 +119,7 @@ class PeopletagAction extends Action 'FROM profile JOIN profile_tag ' . 'ON profile.id = profile_tag.tagger ' . 'WHERE profile_tag.tagger = profile_tag.tagged ' . - 'AND tag = "%s" ' . + "AND tag = '%s' " . 'ORDER BY profile_tag.modified DESC%s'; $profile->query(sprintf($qry, $this->tag, $lim)); diff --git a/actions/sup.php b/actions/sup.php index f4b1cda230..8ef9207fac 100644 --- a/actions/sup.php +++ b/actions/sup.php @@ -65,7 +65,9 @@ class SupAction extends Action $notice->query('SELECT profile_id, max(id) AS max_id ' . 'FROM notice ' . - 'WHERE created > (now() - ' . $seconds . ') ' . + ((common_config('db','type') == 'pgsql') ? + 'WHERE extract(epoch from created) > (extract(epoch from now()) - ' . $seconds . ') ' : + 'WHERE created > (now() - ' . $seconds . ') ' ) . 'GROUP BY profile_id'); $updates = array(); diff --git a/classes/Notice.php b/classes/Notice.php index 1e3b330f26..3087e39a78 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -232,7 +232,11 @@ class Notice extends Memcached_DataObject $notice = new Notice(); $notice->profile_id = $profile_id; $notice->content = $content; - $notice->whereAdd('now() - created < ' . common_config('site', 'dupelimit')); + if (common_config('db','type') == 'pgsql') + $notice->whereAdd('extract(epoch from now() - created) < ' . common_config('site', 'dupelimit')); + else + $notice->whereAdd('now() - created < ' . common_config('site', 'dupelimit')); + $cnt = $notice->count(); return ($cnt == 0); } -- 2.39.5