From a81eaade5096f284cc4d011360e9bd79c655690a Mon Sep 17 00:00:00 2001 From: Angie Byron Date: Mon, 11 May 2009 20:13:43 +0000 Subject: #459786 by DamZ: Remove all_fields from extended queries to prevent breaking under PostgreSQL and certain MySQL versions. --- includes/database/select.inc | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'includes/database') diff --git a/includes/database/select.inc b/includes/database/select.inc index 633965dcc..ef0455fca 100644 --- a/includes/database/select.inc +++ b/includes/database/select.inc @@ -568,6 +568,12 @@ class SelectQueryExtender implements SelectQueryInterface { $expressions =& $count->getExpressions(); $expressions = array(); + // Also remove 'all_fields' statements, which are expanded into tablename.* + // when the query is executed. + foreach ($count->tables as $alias => &$table) { + unset($table['all_fields']); + } + // Ordering a count query is a waste of cycles, and breaks on some // databases anyway. $orders = &$count->getOrderBy(); @@ -1030,6 +1036,13 @@ class SelectQuery extends Query implements SelectQueryInterface { $expressions =& $count->getExpressions(); $expressions = array(); + + // Also remove 'all_fields' statements, which are expanded into tablename.* + // when the query is executed. + foreach ($count->tables as $alias => &$table) { + unset($table['all_fields']); + } + // Ordering a count query is a waste of cycles, and breaks on some // databases anyway. $orders = &$count->getOrderBy(); -- cgit v1.2.3