From: stronk7 Date: Thu, 21 Sep 2006 17:04:28 +0000 (+0000) Subject: Allow to specify NULL clauses for some generators, mainly because X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=7f5f956cf50a5fd6c9f008ba74793989c660de6f;p=moodle.git Allow to specify NULL clauses for some generators, mainly because some mssql drivers use to create everything as NOT NULL by default. --- diff --git a/lib/xmldb/classes/generators/XMLDBGenerator.class.php b/lib/xmldb/classes/generators/XMLDBGenerator.class.php index 10baa0a13e..2c3f48e351 100644 --- a/lib/xmldb/classes/generators/XMLDBGenerator.class.php +++ b/lib/xmldb/classes/generators/XMLDBGenerator.class.php @@ -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); diff --git a/lib/xmldb/classes/generators/mssql/mssql.class.php b/lib/xmldb/classes/generators/mssql/mssql.class.php index 366ff044e0..7d99088224 100644 --- a/lib/xmldb/classes/generators/mssql/mssql.class.php +++ b/lib/xmldb/classes/generators/mssql/mssql.class.php @@ -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