summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Warren <tim@timshomepage.net>2012-02-17 20:21:18 +0100
committerTimothy Warren <tim@timshomepage.net>2012-02-17 20:21:18 +0100
commit7d42eb39484a784496868f4446a2d47b0c52410d (patch)
tree9c9c01e08d8324e712a10c5a22096b74ec06373a
parent3a4cdc62042c56da9527e6d1d4c1ab5417839e1c (diff)
More general fix for num_rows
-rw-r--r--system/database/drivers/interbase/interbase_driver.php53
-rw-r--r--system/database/drivers/interbase/interbase_result.php5
2 files changed, 4 insertions, 54 deletions
diff --git a/system/database/drivers/interbase/interbase_driver.php b/system/database/drivers/interbase/interbase_driver.php
index 7bd4f6f4b..20663d8bb 100644
--- a/system/database/drivers/interbase/interbase_driver.php
+++ b/system/database/drivers/interbase/interbase_driver.php
@@ -624,59 +624,6 @@ SQL;
{
@ibase_close($conn_id);
}
-
- // --------------------------------------------------------------------------
-
- /**
- * Returns an array of table names
- *
- * @access public
- * @return array
- */
- function list_tables($constrain_by_prefix = FALSE)
- {
- // Is there a cached result?
- if (isset($this->data_cache['table_names']))
- {
- return $this->data_cache['table_names'];
- }
-
- if (FALSE === ($sql = $this->_list_tables($constrain_by_prefix)))
- {
- if ($this->db_debug)
- {
- return $this->display_error('db_unsupported_function');
- }
- return FALSE;
- }
-
- $retval = array();
- $query = $this->query($sql);
-
- $table = FALSE;
- $rows = $query->result_array();
-
- // This has to be called after getting the result due to the
- // limitations of the database driver
- if ($query->num_rows() > 0)
- {
- $key = (($row = current($rows)) && in_array('table_name', array_map('strtolower', array_keys($row))));
-
- if ($key)
- {
- $table = array_key_exists('TABLE_NAME', $row) ? 'TABLE_NAME' : 'table_name';
- }
-
- foreach ($rows as $row)
- {
- $retval[] = ( ! $table) ? current($row) : $row[$table];
- }
- }
-
- $this->data_cache['table_names'] = $retval;
-
- return $this->data_cache['table_names'];
- }
}
/* End of file interbase_driver.php */
diff --git a/system/database/drivers/interbase/interbase_result.php b/system/database/drivers/interbase/interbase_result.php
index 37f0a108c..9093029dd 100644
--- a/system/database/drivers/interbase/interbase_result.php
+++ b/system/database/drivers/interbase/interbase_result.php
@@ -52,7 +52,10 @@ class CI_DB_interbase_result extends CI_DB_result {
return $this->num_rows;
}
- return 0;
+ //Get the results so that you can get an accurate rowcount
+ $this->result_array();
+
+ return $this->num_rows;
}
// --------------------------------------------------------------------