From 6c279afaef444a64183f25bdd99f97ec4c3be0f2 Mon Sep 17 00:00:00 2001 From: stronk7 Date: Sat, 4 Nov 2006 17:01:34 +0000 Subject: [PATCH] Now all the get_records() functions support only one field to be specified in the SELECT clause. Not needed anymore to write double "SELECT id, id..." queries. Results returned follow exactly the same structure than normal recordsets (first field = key) MDL-5877 Merged from MOODLE_17_STABLE --- lib/dmllib.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/dmllib.php b/lib/dmllib.php index ac62ef202a..360e1eb0ee 100644 --- a/lib/dmllib.php +++ b/lib/dmllib.php @@ -695,6 +695,18 @@ function recordset_to_array($rs) { $objects[$key] = (object) $record; /// To object } return $objects; + /// Fallback in case we only have 1 field in the recordset. MDL-5877 + } else if ($rs->_numOfFields == 1 && $records = $rs->GetRows()) { + foreach ($records as $key => $record) { + /// Really DIRTY HACK for Oracle, but it's the only way to make it work + /// until we got all those NOT NULL DEFAULT '' out from Moodle + if ($CFG->dbtype == 'oci8po') { + array_walk($record, 'onespace2empty'); + } + /// End of DIRTY HACK + $objects[$record[$firstcolumn->name]] = (object) $record; /// The key is the first column value (like Assoc) + } + return $objects; } else { return false; } -- 2.39.5