diff options
author | Andrey Andreev <narf@bofh.bg> | 2011-09-21 13:39:29 +0200 |
---|---|---|
committer | Andrey Andreev <narf@bofh.bg> | 2011-09-21 13:39:29 +0200 |
commit | ef3e2402b22a7687730520971c27bec466b5167d (patch) | |
tree | d6bd915baab49108780f39e2e079887e9e92fefd | |
parent | a4fac6b8ac17b6864e632fe821b650291a9d4c42 (diff) |
Fix issue #182 in system/database/drivers/oci8_result.php by caching the num_rows property after statement execution
-rw-r--r-- | system/database/drivers/oci8/oci8_result.php | 17 | ||||
-rw-r--r-- | user_guide/changelog.html | 1 |
2 files changed, 11 insertions, 7 deletions
diff --git a/system/database/drivers/oci8/oci8_result.php b/system/database/drivers/oci8/oci8_result.php index 88531b436..2713f6f12 100644 --- a/system/database/drivers/oci8/oci8_result.php +++ b/system/database/drivers/oci8/oci8_result.php @@ -42,15 +42,18 @@ class CI_DB_oci8_result extends CI_DB_result { */ function num_rows() { - $rowcount = count($this->result_array()); - @ociexecute($this->stmt_id); - - if ($this->curs_id) + if ($this->num_rows === 0 && count($this->result_array()) > 0) { - @ociexecute($this->curs_id); + $this->num_rows = count($this->result_array()); + @ociexecute($this->stmt_id); + + if ($this->curs_id) + { + @ociexecute($this->curs_id); + } } - return $rowcount; + return $this->num_rows; } // -------------------------------------------------------------------- @@ -246,4 +249,4 @@ class CI_DB_oci8_result extends CI_DB_result { /* End of file oci8_result.php */ -/* Location: ./system/database/drivers/oci8/oci8_result.php */
\ No newline at end of file +/* Location: ./system/database/drivers/oci8/oci8_result.php */ diff --git a/user_guide/changelog.html b/user_guide/changelog.html index 8a4a70642..b205d5e3b 100644 --- a/user_guide/changelog.html +++ b/user_guide/changelog.html @@ -129,6 +129,7 @@ Change Log <li>Fixed a bug (#85) - OCI8 (Oracle) database escape_str() function did not escape correct.</li> <li>Fixed a bug (#344) - Using schema found in <a href="libraries/sessions.html">Saving Session Data to a Database</a>, system would throw error "user_data does not have a default value" when deleting then creating a session.</li> <li>Fixed a bug (#112) - OCI8 (Oracle) driver didn't pass the configured database character set when connecting.</li> + <li>Fixed a bug (#182) - OCI8 (Oracle) driver used to re-execute the statement whenever num_rows() is called.</li> </ul> <h2>Version 2.0.3</h2> |