diff options
author | Ryan Dial <rrdial@gmail.com> | 2012-03-01 22:11:36 +0100 |
---|---|---|
committer | Ryan Dial <rrdial@gmail.com> | 2012-03-01 22:11:36 +0100 |
commit | ef7474c6ca9887283c964e17c450ca09559643c4 (patch) | |
tree | fb16fed419736d98ad722bb2da23eb42d4c54220 | |
parent | db6066511bfc1a728049fdadaad14f1d10cd9796 (diff) |
compile binds before caching the query, otherwise the cached query will never match the unbound query. updated changlog to mention bug fix.
-rw-r--r-- | system/database/DB_driver.php | 12 | ||||
-rw-r--r-- | user_guide/changelog.html | 1 |
2 files changed, 7 insertions, 6 deletions
diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php index 4dfb584f2..6161f149b 100644 --- a/system/database/DB_driver.php +++ b/system/database/DB_driver.php @@ -265,6 +265,12 @@ class CI_DB_driver { $sql = preg_replace("/(\W)".$this->swap_pre."(\S+?)/", "\\1".$this->dbprefix."\\2", $sql); } + // Compile binds if needed + if ($binds !== FALSE) + { + $sql = $this->compile_binds($sql, $binds); + } + // Is query caching enabled? If the query is a "read type" // we will load the caching class and return the previously // cached query if it exists @@ -280,12 +286,6 @@ class CI_DB_driver { } } - // Compile binds if needed - if ($binds !== FALSE) - { - $sql = $this->compile_binds($sql, $binds); - } - // Save the query for debugging if ($this->save_queries == TRUE) { diff --git a/user_guide/changelog.html b/user_guide/changelog.html index 76a0bcb19..b87e61ba8 100644 --- a/user_guide/changelog.html +++ b/user_guide/changelog.html @@ -79,6 +79,7 @@ Change Log <li>Fixed a bug - form_open() compared $action against site_url() instead of base_url()</li> <li>Fixed a bug - CI_Upload::_file_mime_type() could've failed if mime_content_type() is used for the detection and returns FALSE.</li> <li>Fixed a bug (#538) - Windows paths were ignored when using the <a href="libraries/image_lib.html">Image Manipulation Class</a> to create a new file.</li> + <li>Fixed a bug - When database caching was enabled, $this->db->query() checked the cache before binding variables which resulted in cached queries never being found.</li> </ul> |