Permalink
Browse files

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
  • Loading branch information...
1 parent bb5b732 commit 6c279afaef444a64183f25bdd99f97ec4c3be0f2 stronk7 committed Nov 4, 2006
Showing with 12 additions and 0 deletions.
  1. +12 −0 lib/dmllib.php
View
@@ -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;
}

0 comments on commit 6c279af

Please sign in to comment.