]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-14679 - PG get_indexes() fix - minor problem retrieving indexes with columns...
authorstronk7 <stronk7>
Sun, 3 May 2009 17:19:40 +0000 (17:19 +0000)
committerstronk7 <stronk7>
Sun, 3 May 2009 17:19:40 +0000 (17:19 +0000)
lib/dml/pgsql_native_moodle_database.php

index 6fc7a064bbaf42c62d31ea6dab5a47e2ba1fb5a7..8a6895af73fbe2c7a2fce8999bf4e7847bad31c8 100644 (file)
@@ -290,7 +290,7 @@ class pgsql_native_moodle_database extends moodle_database {
                     continue;
                 }
                 $columns = explode(',', $matches[4]);
-                $columns = array_map('trim', $columns);
+                $columns = array_map(array($this, 'trim_quotes'), $columns);
                 $indexes[$matches[2]] = array('unique'=>!empty($matches[1]),
                                               'columns'=>$columns);
             }
@@ -1155,4 +1155,16 @@ class pgsql_native_moodle_database extends moodle_database {
         pg_free_result($result);
         return true;
     }
+
+    /**
+     * Helper function trimming (whitespace + quotes) any string
+     * needed because PG uses to enclose with double quotes some
+     * fields in indexes definition and others
+     *
+     * @param string $str string to apply whitespace + quotes trim
+     * @return string trimmed string
+     */
+    private function trim_quotes($str) {
+        return trim(trim($str), "'\"");
+    }
 }