diff options
author | Angie Byron <webchick@24967.no-reply.drupal.org> | 2010-06-20 23:55:08 +0000 |
---|---|---|
committer | Angie Byron <webchick@24967.no-reply.drupal.org> | 2010-06-20 23:55:08 +0000 |
commit | 2cca6c575488f25d37bdcdd984cc4e960776d45a (patch) | |
tree | 6cf2e4f739edd991f3e978bcbd6edbd78a76517b /modules/forum | |
parent | f0a18039e24efb6677557ac32eb1f156d3566867 (diff) | |
download | brdo-2cca6c575488f25d37bdcdd984cc4e960776d45a.tar.gz brdo-2cca6c575488f25d37bdcdd984cc4e960776d45a.tar.bz2 |
#831070 by Josh Waihi: Fixed PostgreSQL breaks on forums with IF() syntax.
Diffstat (limited to 'modules/forum')
-rw-r--r-- | modules/forum/forum.module | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/modules/forum/forum.module b/modules/forum/forum.module index 9984787e6..720ee514f 100644 --- a/modules/forum/forum.module +++ b/modules/forum/forum.module @@ -816,7 +816,7 @@ function forum_forum_load($tid = NULL) { $query->join('forum', 'f', 'n.vid = f.vid AND f.tid = :tid', array(':tid' => $forum->tid)); $query->join('node_comment_statistics', 'ncs', 'n.nid = ncs.nid'); $query->join('users', 'u2', 'ncs.last_comment_uid = u2.uid'); - $query->addExpression('IF (ncs.last_comment_uid != 0, u2.name, ncs.last_comment_name)', 'last_comment_name'); + $query->addExpression('CASE ncs.last_comment_uid WHEN 0 THEN ncs.last_comment_name ELSE u2.name END', 'last_comment_name'); $topic = $query ->fields('ncs', array('last_comment_timestamp', 'last_comment_uid')) @@ -902,7 +902,7 @@ function forum_get_topics($tid, $sortby, $forum_per_page) { $nids[] = $record->nid; } if ($nids) { - $result = db_query("SELECT n.title, n.nid, n.type, n.sticky, n.created, n.uid, n.comment AS comment_mode, ncs.*, f.tid AS forum_tid, u.name, IF (ncs.last_comment_uid != 0, u2.name, ncs.last_comment_name) AS last_comment_name FROM {node} n INNER JOIN {node_comment_statistics} ncs ON n.nid = ncs.nid INNER JOIN {forum} f ON n.vid = f.vid INNER JOIN {users} u ON n.uid = u.uid INNER JOIN {users} u2 ON ncs.last_comment_uid = u2.uid WHERE n.nid IN (:nids)", array(':nids' => $nids)); + $result = db_query("SELECT n.title, n.nid, n.type, n.sticky, n.created, n.uid, n.comment AS comment_mode, ncs.*, f.tid AS forum_tid, u.name, CASE ncs.last_comment_uid WHEN 0 THEN ncs.last_comment_name ELSE u2.name END AS last_comment_name FROM {node} n INNER JOIN {node_comment_statistics} ncs ON n.nid = ncs.nid INNER JOIN {forum} f ON n.vid = f.vid INNER JOIN {users} u ON n.uid = u.uid INNER JOIN {users} u2 ON ncs.last_comment_uid = u2.uid WHERE n.nid IN (:nids)", array(':nids' => $nids)); } else { $result = array(); |