]> git.mjollnir.org Git - moodle.git/commitdiff
To fix postgresql 7.4 default values.
authorpaca70 <paca70>
Tue, 2 Dec 2003 15:42:33 +0000 (15:42 +0000)
committerpaca70 <paca70>
Tue, 2 Dec 2003 15:42:33 +0000 (15:42 +0000)
Starting with v. 7.4 postgres is returning default-values with datatype in form:
'default value'::data type
This cannot be inserted back to database so DEFAULT keyword must be used.

lib/datalib.php

index f8e74f101cd0fddefa68b79ab7740f10dafd052d..38eec6ae0103b7739beb4f76ff5116081649223f 100644 (file)
@@ -765,13 +765,13 @@ function insert_record($table, $dataobject, $returnid=true) {
         if ($column->name <> "id") {
             if (isset($data[$column->name])) { 
                 if ((string)$data[$column->name] == "" and !empty($column->has_default) and !empty($column->default_value)) {
-                    $ddd[$column->name] = $column->default_value;
+                    $ddd[$column->name] = 'DEFAULT';
                 } else {
                     $ddd[$column->name] = $data[$column->name];
                 }
             } else {
                 if (!empty($column->has_default) and !empty($column->default_value)) {
-                    $ddd[$column->name] = $column->default_value;
+                    $ddd[$column->name] = 'DEFAULT';
                 } 
             }
         }
@@ -796,7 +796,7 @@ function insert_record($table, $dataobject, $returnid=true) {
                 $select .= " AND ";
             }
             $inscolumns .= "$key";
-            $insvalues .= "'$value'";
+            $insvalues .= ($value != 'DEFAULT')  ? "'$value'" : $value ;
             $select .= "$key = '$value'";
         }
     }