? .DS_Store
? 926636-execute-alter-query-comment.patch
? drupal.storage-collapse.11.patch
? drupal.storage-collapse.12.patch
? head.db
? someone_screwed_up_the_logic_not_to_point_any_fingers.patch
? sqlite_addExpression_efq.patch
? test.patch
? includes/database/.DS_Store
? includes/database/sqlite/.DS_Store
? modules/field/modules/.DS_Store
? modules/simpletest/.DS_Store
? sites/all/.DS_Store
? sites/all/contributions
? sites/all/modules/.DS_Store
? sites/all/modules/devel
? sites/all/modules/multiple_email
? sites/all/modules/multiple_email.tgz
? sites/default/files
? sites/default/settings.php
Index: includes/database/select.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/database/select.inc,v
retrieving revision 1.55
diff -u -p -r1.55 select.inc
--- includes/database/select.inc	29 Nov 2010 04:45:10 -0000	1.55
+++ includes/database/select.inc	21 Dec 2010 07:16:27 -0000
@@ -1370,14 +1370,14 @@ class SelectQuery extends Query implemen
       // the GROUP BY clause need to be present in the query.
       $fields =& $count->getFields();
       foreach (array_keys($fields) as $field) {
-        if (!empty($group_by[$field])) {
+        if (empty($group_by[$field])) {
           unset($fields[$field]);
         }
       }
       $expressions =& $count->getExpressions();
       foreach (array_keys($expressions) as $field) {
-        if (!empty($group_by[$field])) {
-          unset($fields[$field]);
+        if (empty($group_by[$field])) {
+          unset($expressions[$field]);
         }
       }
 
Index: modules/simpletest/tests/database_test.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/database_test.test,v
retrieving revision 1.105
diff -u -p -r1.105 database_test.test
--- modules/simpletest/tests/database_test.test	15 Dec 2010 06:52:54 -0000	1.105
+++ modules/simpletest/tests/database_test.test	21 Dec 2010 07:16:27 -0000
@@ -1970,6 +1970,22 @@ class DatabaseSelectComplexTestCase exte
     $this->assertEqual($count, 4, t('Counted the correct number of records.'));
   }
 
+
+  /**
+   * Test that countQuery properly removes fields and expressions.
+   */
+  function testCountQueryFieldRemovals() {
+    $query = db_select('test');
+    $query->fields('test', array('nonexistant'));
+    $query->countQuery()->execute();
+    $this->assertEqual(4, $query->countQuery()->execute()->fetchField(), t('Count Query removed fields'));
+
+    $query = db_select('test');
+    $query->addExpression('fail');
+    $query->countQuery()->execute();
+    $this->assertEqual(4, $query->countQuery()->execute()->fetchField(), t('Count Query removed expressions'));
+  }
+
   /**
    * Test that we can generate a count query from a query with distinct.
    */
