moved call to $RES->num_rows() further down in code so that oracle-specific class variables would be set properly as needed before executing
diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php
index 257f1ee..572595f 100644
--- a/system/database/DB_driver.php
+++ b/system/database/DB_driver.php
@@ -375,7 +375,6 @@
$RES = new $driver();
$RES->conn_id = $this->conn_id;
$RES->result_id = $this->result_id;
- $RES->num_rows = $RES->num_rows();
if ($this->dbdriver == 'oci8')
{
@@ -385,6 +384,9 @@
$this->stmt_id = FALSE;
}
+ // oci8 vars must be set before calling this
+ $RES->num_rows = $RES->num_rows();
+
// Is query caching enabled? If so, we'll serialize the
// result object and save it to a cache file.
if ($this->cache_on == TRUE AND $this->_cache_init())
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index ce94005..c6154f0 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -128,6 +128,7 @@
<li>Fixed a bug in <kbd>highlight_code()</kbd> in the <a href="helpers/text_helper.html">Text helper</a> that would leave a stray </span> in certain cases.</li>
<li>Fixed Oracle bug (#3306) that was preventing multiple queries in one action.</li>
<li>Fixed ODBC bug that was ignoring connection params due to its use of a constructor.</li>
+ <li>Fixed a DB driver bug with num_rows() that would cause an error with the Oracle driver.</li>
</ul>
<h2>Version 1.6.3</h2>