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 /system/database/drivers/oci8 | |
parent | a4fac6b8ac17b6864e632fe821b650291a9d4c42 (diff) |
Fix issue #182 in system/database/drivers/oci8_result.php by caching the num_rows property after statement execution
Diffstat (limited to 'system/database/drivers/oci8')
-rw-r--r-- | system/database/drivers/oci8/oci8_result.php | 17 |
1 files changed, 10 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 */ |