From 37f7c9b0aefeffb2bf66e3db2a1353db1c721a5b Mon Sep 17 00:00:00 2001 From: skodak Date: Sun, 25 May 2008 20:17:40 +0000 Subject: [PATCH] MDL-14966 Moved moodle_recordset to separate class into lib/dml --- lib/dml/adodb_moodle_recordset.php | 6 ++- lib/dml/moodle_recordset.php | 50 +++++++++++++++++++++++ lib/dml/oci8po_adodb_moodle_recordset.php | 4 +- lib/dml/pdo_moodle_recordset.php | 6 ++- lib/dmllib.php | 16 -------- 5 files changed, 61 insertions(+), 21 deletions(-) create mode 100644 lib/dml/moodle_recordset.php diff --git a/lib/dml/adodb_moodle_recordset.php b/lib/dml/adodb_moodle_recordset.php index e69680e9f2..54af15ce3d 100644 --- a/lib/dml/adodb_moodle_recordset.php +++ b/lib/dml/adodb_moodle_recordset.php @@ -1,10 +1,12 @@ -libdir.'/dml/moodle_recordset.php'); /** * Adodb basic moodle recordset class * @package dmlib */ -class adodb_moodle_recordset implements moodle_recordset { +class adodb_moodle_recordset extends moodle_recordset { private $rs; public function __construct($rs) { diff --git a/lib/dml/moodle_recordset.php b/lib/dml/moodle_recordset.php new file mode 100644 index 0000000000..e8c780d57e --- /dev/null +++ b/lib/dml/moodle_recordset.php @@ -0,0 +1,50 @@ +close()". + * + * Do not forget to close all recordsets when they are not needed anymore! + */ +abstract class moodle_recordset implements Iterator { + + /** + * Returns current record - fields as object properties, lowercase + * @return object + */ + //public abstract function current(); + + /** + * Returns the key of current row + * @return int current row + */ + //public abstract function key(); + + /** + * Moves forward to next row + * @return void + */ + //public abstract function next(); + + /** + * Revinds back to the first row + * @return void + */ + //public abstract function rewind(); + + /** + * Did we reach the end? + * @return boolean + */ + //public abstract function valid(); + + /** + * Free resources and connections, recordset can not be used anymore. + * @return void + */ + public abstract function close(); +} \ No newline at end of file diff --git a/lib/dml/oci8po_adodb_moodle_recordset.php b/lib/dml/oci8po_adodb_moodle_recordset.php index 436fb253bf..7e9769584a 100644 --- a/lib/dml/oci8po_adodb_moodle_recordset.php +++ b/lib/dml/oci8po_adodb_moodle_recordset.php @@ -1,4 +1,6 @@ -libdir.'/dml/adodb_moodle_recordset.php'); /** * Oracle moodle recordest with special hacks diff --git a/lib/dml/pdo_moodle_recordset.php b/lib/dml/pdo_moodle_recordset.php index 6ffb023939..1a4e24c4c8 100644 --- a/lib/dml/pdo_moodle_recordset.php +++ b/lib/dml/pdo_moodle_recordset.php @@ -1,10 +1,12 @@ -libdir.'/dml/moodle_recordset.php'); /** * Experimental pdo recordset * @package dmlib */ -class adodb_moodle_recordset implements moodle_recordset { +class pdo_moodle_recordset extends moodle_recordset { private $sht; public function __construct($sth) { diff --git a/lib/dmllib.php b/lib/dmllib.php index 2e46da7f7d..e2875451ab 100644 --- a/lib/dmllib.php +++ b/lib/dmllib.php @@ -138,22 +138,6 @@ function setup_DB() { return true; } -/** - * Interface definitions for resultsets returned from database functions. - * This is a simple Iterator with needed recorset closing support. - * - * The differnece from old recorset is that the records are returned - * as objects, not arrays. You should use "foreach ($recordset as $record) {}". - * - * Do not forget to close all recordsets when they are not needed anymore! - */ -interface moodle_recordset extends Iterator { - /** - * Free resources and connections, recordset can not be used anymore. - */ - public function close(); -} - /** * Detail database field information. * Based on ADOFieldObject. -- 2.39.5