MockQueryResultIterator.php
1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
include_once(dirname(dirname(__FILE__)) . '/CFDBAbstractQueryResultsIterator.php');
/**
* Class MockQueryResultIterator mock for QueryResultIterator
*/
class MockQueryResultIterator extends CFDBAbstractQueryResultsIterator {
var $data;
var $columns;
function __construct(&$data) {
$this->data =& $data;
if (count($data) > 0) {
$this->columns = array_keys($data[0]);
}
}
/**
* Execute the query
* @param $sql string query
* @param $queryOptions array associative
* @return void
*/
public function queryDataSource(&$sql, $queryOptions) {
// Do nothing. $data injected.
}
/**
* Get the next row from query results
* @return array associative
*/
public function fetchRow() {
$row = array_shift($this->data);
return $row;
}
/**
* If you do not iterate over all the rows returned, be sure to call this function
* on all remaining rows to free resources.
* @return void
*/
public function freeResult() {
}
}