From 7f5f956cf50a5fd6c9f008ba74793989c660de6f Mon Sep 17 00:00:00 2001 From: stronk7 Date: Thu, 21 Sep 2006 17:04:28 +0000 Subject: [PATCH] Allow to specify NULL clauses for some generators, mainly because some mssql drivers use to create everything as NOT NULL by default. --- lib/xmldb/classes/generators/XMLDBGenerator.class.php | 7 +++++++ lib/xmldb/classes/generators/mssql/mssql.class.php | 3 +++ 2 files changed, 10 insertions(+) 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 -- 2.39.5