diff options
author | Greg Aker <greg@gregaker.net> | 2011-09-23 10:39:51 +0200 |
---|---|---|
committer | Greg Aker <greg@gregaker.net> | 2011-09-23 10:39:51 +0200 |
commit | 513f9a046aa48ae755cc2667f880c3996efe2f8a (patch) | |
tree | 457602addee6b1e6b535ca33a41e338426b6f8ad /system/database/drivers/oci8 | |
parent | 1ccbb8afa8ab5060d7bdb7a22c640302fe80d226 (diff) | |
parent | ef3e2402b22a7687730520971c27bec466b5167d (diff) |
Merge pull request #469 from narfbg/ci-issue-182
Fix issue #182: OCI8's num_rows() re-executing the statement
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 */ |