MDL-51374 dml: Identifying the cache with connection data
authorDavid Monllao <davidm@moodle.com>
Wed, 16 Mar 2016 09:17:39 +0000 (17:17 +0800)
committerDavid Monllao <davidm@moodle.com>
Wed, 16 Mar 2016 09:17:39 +0000 (17:17 +0800)
lib/dml/moodle_database.php

index 70a3b30..e78005d 100644 (file)
@@ -342,7 +342,9 @@ abstract class moodle_database {
      * @return cache_application The temp_tables cachestore to complete operations on.
      */
     protected function get_temp_tables_cache() {
-        return cache::make('core', 'temp_tables');
+        // Using connection data to prevent collisions when using the same temp table name with different db connections.
+        $properties = array('dbfamily' => $this->get_dbfamily(), 'settings' => $this->get_settings_hash());
+        return cache::make('core', 'temp_tables', $properties);
     }
 
     /**