]> git.mjollnir.org Git - moodle.git/commitdiff
Allow to specify NULL clauses for some generators, mainly because
authorstronk7 <stronk7>
Thu, 21 Sep 2006 17:04:28 +0000 (17:04 +0000)
committerstronk7 <stronk7>
Thu, 21 Sep 2006 17:04:28 +0000 (17:04 +0000)
some mssql drivers use to create everything as NOT NULL by default.

lib/xmldb/classes/generators/XMLDBGenerator.class.php
lib/xmldb/classes/generators/mssql/mssql.class.php

index 10baa0a13eae724f5665fb400fd1ea70f488ab2a..2c3f48e3511e1501633bb59c10780a82d77b3663 100644 (file)
@@ -53,6 +53,9 @@ class XMLDBgenerator {
 
     var $default_after_null = true;  //To decide if the default clause of each field must go after the null clause
 
+    var $specify_nulls = false;  //To force the generator if NULL clauses must be specified. It shouldn't be necessary
+                                 //but some mssql drivers require them or everything is created as NOT NULL :-(
+
     var $primary_key_name = null; //To force primary key names to one string (null=no force)
 
     var $primary_keys = true;  // Does the generator build primary keys
@@ -326,6 +329,10 @@ class XMLDBgenerator {
         $notnull = '';
         if ($xmldb_field->getNotNull()) {
             $notnull = ' NOT NULL';
+        } else {
+            if ($this->specify_nulls) {
+                $notnull = ' NULL';
+            }
         }
     /// Calculate the default clause
         $default = $this->getDefaultClause($xmldb_field);
index 366ff044e0d57922b9aa2b5c8a0d737ac495674d..7d99088224713ca0c6bade38c6eca8b7b1885d9e 100644 (file)
@@ -39,6 +39,9 @@ class XMLDBmssql extends XMLDBgenerator {
     var $unsigned_allowed = false;    // To define in the generator must handle unsigned information
     var $default_for_char = '';      // To define the default to set for NOT NULLs CHARs without default (null=do nothing)
 
+    var $specify_nulls = true;  //To force the generator if NULL clauses must be specified. It shouldn't be necessary
+                                     //but some mssql drivers require them or everything is created as NOT NULL :-(
+
     var $foreign_keys = false; // Does the generator build foreign keys
 
     var $primary_index = false;// Does the generator need to build one index for primary keys