public function connect($dbhost, $dbuser, $dbpass, $dbname, $prefix, array $dboptions = null)
 {
     if ($prefix == '' and !$this->external) {
         //Enforce prefixes for everybody but mysql
         throw new dml_exception('prefixcannotbeempty', $this->get_dbfamily());
     }
     return parent::connect($dbhost, $dbuser, $dbpass, $dbname, $prefix, $dboptions);
 }
 protected function adodb_recordset_to_array($rs)
 {
     /// Really DIRTY HACK for Oracle - needed because it can not see difference from NULL and ''
     /// this can not be removed even if we chane db defaults :-(
     if ($result = parent::adodb_recordset_to_array($rs)) {
         foreach ($result as $key => $row) {
             $row = (array) $row;
             array_walk($row, array('oci8po_adodb_moodle_database', 'onespace2empty'));
             $result[$key] = (object) $row;
         }
     }
     return $result;
 }