mirror of
https://github.com/silverstripe/silverstripe-postgresql
synced 2024-10-22 17:05:45 +02:00
API Update PostgreSQLQuery to use generators
This commit is contained in:
parent
a8c5c18a25
commit
5c07020dc6
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace SilverStripe\PostgreSQL;
|
namespace SilverStripe\PostgreSQL;
|
||||||
|
|
||||||
|
use Iterator;
|
||||||
use SilverStripe\ORM\Connect\Query;
|
use SilverStripe\ORM\Connect\Query;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -56,12 +57,11 @@ class PostgreSQLQuery extends Query
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function seek($row)
|
public function getIterator(): Iterator
|
||||||
{
|
{
|
||||||
// Specifying the zero-th record here will reset the pointer
|
while ($row = pg_fetch_array($this->handle, null, PGSQL_NUM)) {
|
||||||
$result = pg_fetch_array($this->handle, $row, PGSQL_NUM);
|
yield $this->parseResult($row);
|
||||||
|
}
|
||||||
return $this->parseResult($result);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function numRecords()
|
public function numRecords()
|
||||||
@ -69,18 +69,6 @@ class PostgreSQLQuery extends Query
|
|||||||
return pg_num_rows($this->handle);
|
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
|
* @param array $row
|
||||||
* @return array
|
* @return array
|
||||||
|
Loading…
Reference in New Issue
Block a user