#831070 by Josh Waihi: Fixed PostgreSQL breaks on forums with IF() syntax.
parent
f0a18039e2
commit
2cca6c5754
|
@ -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();
|
||||
|
|
Loading…
Reference in New Issue