? .DS_Store
? asdf.patch
? databasecondition_multiple_queries.patch
? databasecondition_multiple_queries.patch.1
? foo.patch
? head.db
? sqlite_more_broken.patch
? sqlite_update_query_expression.patch
? test_only.patch
? includes/database/.DS_Store
? includes/database/mysqlbigint
? includes/database/sqlite/.DS_Store
? modules/.DS_Store
? modules/field/modules/.DS_Store
? modules/simpletest/.DS_Store
? modules/simpletest/tests/.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/query.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/database/query.inc,v
retrieving revision 1.59
diff -u -p -r1.59 query.inc
--- includes/database/query.inc	15 Dec 2010 06:52:54 -0000	1.59
+++ includes/database/query.inc	22 Dec 2010 01:16:44 -0000
@@ -1540,6 +1540,12 @@ class DatabaseCondition implements Query
   protected $changed = TRUE;
 
   /**
+   * The query to which this object was compiled. This ensures that a condition
+   * compiled for a certain query will be recompiled for a different query.
+   */
+ protected $queryPlaceholder = NULL;
+
+  /**
    * Constructs a DataBaseCondition object.
    *
    * @param string $conjunction
@@ -1636,7 +1642,7 @@ class DatabaseCondition implements Query
    * Implements QueryConditionInterface::compile().
    */
   public function compile(DatabaseConnection $connection, QueryPlaceholderInterface $queryPlaceholder = NULL) {
-    if ($this->changed) {
+    if ($this->changed || $this->queryPlaceholder != spl_object_hash($queryPlaceholder)) {
       $condition_fragments = array();
       $arguments = array();
 
@@ -1703,6 +1709,7 @@ class DatabaseCondition implements Query
       }
 
       $this->changed = FALSE;
+      $this->queryPlaceholder = spl_object_hash($queryPlaceholder);
       $this->stringVersion = implode($conjunction, $condition_fragments);
       $this->arguments = $arguments;
     }
