mirror of
https://github.com/silverstripe/silverstripe-postgresql
synced 2024-10-22 17:05:45 +02:00
42 lines
894 B
PHP
42 lines
894 B
PHP
|
<?php
|
||
|
|
||
|
/**
|
||
|
* A result-set from a PostgreSQL database.
|
||
|
*
|
||
|
* @package sapphire
|
||
|
* @subpackage model
|
||
|
*/
|
||
|
class PostgreSQLQuery extends SS_Query {
|
||
|
|
||
|
/**
|
||
|
* The internal Postgres handle that points to the result set.
|
||
|
* @var resource
|
||
|
*/
|
||
|
private $handle;
|
||
|
|
||
|
/**
|
||
|
* Hook the result-set given into a Query class, suitable for use by sapphire.
|
||
|
* @param database The database object that created this query.
|
||
|
* @param handle the internal Postgres handle that is points to the resultset.
|
||
|
*/
|
||
|
public function __construct($handle) {
|
||
|
$this->handle = $handle;
|
||
|
}
|
||
|
|
||
|
public function __destruct() {
|
||
|
if(is_resource($this->handle)) pg_free_result($this->handle);
|
||
|
}
|
||
|
|
||
|
public function seek($row) {
|
||
|
return pg_result_seek($this->handle, $row);
|
||
|
}
|
||
|
|
||
|
public function numRecords() {
|
||
|
return pg_num_rows($this->handle);
|
||
|
}
|
||
|
|
||
|
public function nextRecord() {
|
||
|
return pg_fetch_assoc($this->handle);
|
||
|
}
|
||
|
}
|