]> git.mjollnir.org Git - moodle.git/commitdiff
Now all the get_records() functions support only one field
authorstronk7 <stronk7>
Sat, 4 Nov 2006 17:01:34 +0000 (17:01 +0000)
committerstronk7 <stronk7>
Sat, 4 Nov 2006 17:01:34 +0000 (17:01 +0000)
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

index ac62ef202ab633a73f16c7b466979df290802967..360e1eb0eedb3bd0a0b4e98b8d02c928d040f5d1 100644 (file)
@@ -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;
         }