Merge pull request #137 from creative-commoners/pulls/3/revert

FIX Revert using generators
This commit is contained in:
Guy Sartorelli 2022-09-02 11:21:07 +12:00 committed by GitHub
commit 2946e07319
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 17 additions and 5 deletions

View File

@ -2,7 +2,6 @@
namespace SilverStripe\PostgreSQL;
use Iterator;
use SilverStripe\ORM\Connect\Query;
/**
@ -57,11 +56,12 @@ class PostgreSQLQuery extends Query
}
}
public function getIterator(): Iterator
public function seek($row)
{
while ($row = pg_fetch_array($this->handle, null, PGSQL_NUM)) {
yield $this->parseResult($row);
}
// Specifying the zero-th record here will reset the pointer
$result = pg_fetch_array($this->handle, $row, PGSQL_NUM);
return $this->parseResult($result);
}
public function numRecords()
@ -69,6 +69,18 @@ class PostgreSQLQuery extends Query
return pg_num_rows($this->handle);
}
public function nextRecord()
{
$row = pg_fetch_array($this->handle, null, PGSQL_NUM);
// Correct non-string types
if ($row) {
return $this->parseResult($row);
}
return false;
}
/**
* @param array $row
* @return array