diff --git a/autoload.php b/autoload.php
index 9bd0d64..2e9c1e0 100644
--- a/autoload.php
+++ b/autoload.php
@@ -48,6 +48,8 @@ if (function_exists('fbird_connect'))
array_map('do_include', glob(DRIVER_PATH.'/firebird/*.php'));
}
+// --------------------------------------------------------------------------
+
/**
* Filter out db rows into one array
*
diff --git a/drivers/firebird/firebird_result.php b/drivers/firebird/firebird_result.php
index d28f99b..c209bd6 100644
--- a/drivers/firebird/firebird_result.php
+++ b/drivers/firebird/firebird_result.php
@@ -16,9 +16,8 @@
* Firebird result class to emulate PDOStatement Class - only implements
* data-fetching methods
*
- * @todo Implement more of the PDOStatement Class
*/
-class Firebird_Result {
+class Firebird_Result extends PDOStatement {
private $statement;
@@ -41,7 +40,7 @@ class Firebird_Result {
* @param int $fetch_style
* @return mixed
*/
- public function fetch($fetch_style=PDO::FETCH_ASSOC, $statement=NULL)
+ public function fetch($fetch_style=PDO::FETCH_ASSOC, $statement=NULL, $offset=NULL)
{
if ( ! is_null($statement))
{
@@ -72,7 +71,7 @@ class Firebird_Result {
* @param int $fetch_style
* @return mixed
*/
- public function fetchAll($fetch_style=PDO::FETCH_ASSOC, $statement=NULL)
+ public function fetchAll($fetch_style=PDO::FETCH_ASSOC, $statement=NULL, $ctor_args=NULL)
{
$all = array();
@@ -108,7 +107,7 @@ class Firebird_Result {
* @param array $args
* @return bool
*/
- public function execute($args)
+ public function execute($args = NULL)
{
//Add the prepared statement as the first parameter
array_unshift($args, $this->statement);
diff --git a/tests/databases/firebird/firebird-qb.php b/tests/databases/firebird/firebird-qb.php
index 96ec990..a4cc331 100644
--- a/tests/databases/firebird/firebird-qb.php
+++ b/tests/databases/firebird/firebird-qb.php
@@ -33,280 +33,5 @@ class FirebirdQBTest extends QBTest {
$this->db = new Query_Builder($params);
// echo '
Firebird Queries
';
- }
-
- function TestGet()
- {
- $query = $this->db->get('create_test ct');
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestGetLimit()
- {
- $query = $this->db->get('create_test', 2);
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestGetLimitSkip()
- {
- $query = $this->db->get('create_test', 2, 1);
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestHaving()
- {
- if (empty($this->db)) return;
-
- $query = $this->db->select('id')
- ->from('create_test')
- ->group_by('id')
- ->having(array('id >' => 1))
- ->having('id !=', 3)
- ->get();
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestOrHaving()
- {
- if (empty($this->db)) return;
-
- $query = $this->db->select('id')
- ->from('create_test')
- ->group_by('id')
- ->having(array('id >' => 1))
- ->or_having('id !=', 3)
- ->get();
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestSelectWhereGet()
- {
- $query = $this->db->select('id, key as k, val')
- ->where('id >', 1)
- ->where('id <', 800)
- ->get('create_test', 2, 1);
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestSelectWhereGet2()
- {
- $query = $this->db->select('id, key as k, val')
- ->where(' id ', 1)
-
- ->get('create_test', 2, 1);
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestSelectMax()
- {
- if (empty($this->db)) return;
-
- $query = $this->db->select_max('id', 'di')
- ->get('create_test');
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestSelectMin()
- {
- if (empty($this->db)) return;
-
- $query = $this->db->select_min('id', 'di')
- ->get('create_test');
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestSelectAvg()
- {
- if (empty($this->db)) return;
-
- $query = $this->db->select_avg('id', 'di')
- ->get('create_test');
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestSelectSum()
- {
- if (empty($this->db)) return;
-
- $query = $this->db->select_sum('id', 'di')
- ->get('create_test');
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestSelectDistinct()
- {
- if (empty($this->db)) return;
-
- $query = $this->db->select_sum('id', 'di')
- ->distinct()
- ->get('create_test');
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestGetWhere()
- {
- if (empty($this->db)) return;
-
- $query = $this->db->get_where('create_test', array('id !=' => 1), 2, 1);
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestSelectGet()
- {
- $query = $this->db->select('id, key as k, val')
- ->get('create_test', 2, 1);
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestSelectFromGet()
- {
- $query = $this->db->select('id, key as k, val')
- ->from('create_test ct')
- ->where('id >', 1)
- ->get();
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestSelectFromLimitGet()
- {
- $query = $this->db->select('id, key as k, val')
- ->from('create_test ct')
- ->where('id >', 1)
- ->limit(3)
- ->get();
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestOrderBy()
- {
- $query = $this->db->select('id, key as k, val')
- ->from('create_test')
- ->where('id >', 0)
- ->where('id <', 9000)
- ->order_by('id', 'DESC')
- ->order_by('k', 'ASC')
- ->limit(5,2)
- ->get();
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestOrderByRandom()
- {
- $query = $this->db->select('id, key as k, val')
- ->from('create_test')
- ->where('id >', 0)
- ->where('id <', 9000)
- ->order_by('id', 'rand')
- ->limit(5,2)
- ->get();
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestOrWhere()
- {
- $query = $this->db->select('id, key as k, val')
- ->from('create_test')
- ->where(' id ', 1)
- ->or_where('key >', 0)
- ->limit(2, 1)
- ->get();
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestGroupBy()
- {
-
- }
-
- /*function TestGroupBy()
- {
- $query = $this->db->select('id, key as k, val')
- ->from('create_test')
- ->where('id >', 0)
- ->where('id <', 9000)
- ->group_by('k')
- ->group_by('val')
- ->order_by('id', 'DESC')
- ->order_by('k', 'ASC')
- ->limit(5,2)
- ->get();
-
- $this->assertIsA($query, 'Firebird_Result');
- }*/
-
- function TestLike()
- {
- $query = $this->db->from('create_test')
- ->like('key', 'og')
- ->get();
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestWhereIn()
- {
- $query = $this->db->from('create_test')
- ->where_in('key', array(12, 96, "works"))
- ->get();
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestJoin()
- {
- $query = $this->db->from('create_test')
- ->join('create_join cj', 'cj.id = create_test.id')
- ->get();
-
- $this->assertIsA($query, 'Firebird_Result');
- }
-
- function TestInsert()
- {
- $query = $this->db->set('id', 4)
- ->set('key', 4)
- ->set('val', 5)
- ->insert('create_test');
-
- $this->assertTrue($query);
- }
-
- function TestUpdate()
- {
- $query = $this->db->set('id', 4)
- ->set('key', 'gogle')
- ->set('val', 'non-word')
- ->where('id', 4)
- ->update('create_test');
-
- $this->assertTrue($query);
- }
-
- function TestDelete()
- {
- $query = $this->db->where('id', 4)->delete('create_test');
-
- $this->assertTrue($query);
- }
-
-
+ }
}
\ No newline at end of file
diff --git a/tests/db_files/FB_TEST_DB.FDB b/tests/db_files/FB_TEST_DB.FDB
index 0252e62..c75f825 100644
Binary files a/tests/db_files/FB_TEST_DB.FDB and b/tests/db_files/FB_TEST_DB.FDB differ