From 8101dccb8e4d039b62fb471d6a199d6cede731b9 Mon Sep 17 00:00:00 2001 From: sam_marshall Date: Thu, 24 May 2007 15:18:35 +0000 Subject: [PATCH] MDL-9920 Allowed xmldb to create 32-bit serial fields if specified, in postgres --- lib/xmldb/classes/generators/XMLDBGenerator.class.php | 10 ++++++++-- .../classes/generators/postgres7/postgres7.class.php | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/xmldb/classes/generators/XMLDBGenerator.class.php b/lib/xmldb/classes/generators/XMLDBGenerator.class.php index 40642f0f1a..fe41d2db1a 100644 --- a/lib/xmldb/classes/generators/XMLDBGenerator.class.php +++ b/lib/xmldb/classes/generators/XMLDBGenerator.class.php @@ -76,6 +76,7 @@ class XMLDBgenerator { var $sequence_extra_code = true; //Does the generator need to add extra code to generate the sequence fields var $sequence_name = 'auto_increment'; //Particular name for inline sequences in this generator + var $sequence_name_small = false; //Different name for small (4byte) sequences or false if same var $sequence_only = false; //To avoid to output the rest of the field specs, leaving only the name and the sequence_name variable var $enum_inline_code = true; //Does the generator need to add inline code in the column definition @@ -384,11 +385,16 @@ class XMLDBgenerator { } /// The sequence if ($xmldb_field->getSequence()) { - $field .= ' ' . $this->sequence_name; + if($xmldb_field->getLength()<=9 && $this->sequence_name_small) { + $sequencename=$this->sequence_name_small; + } else { + $sequencename=$this->sequence_name; + } + $field .= ' ' . $sequencename; if ($this->sequence_only) { /// We only want the field name and sequence name to be printed /// so, calculate it and return - return $this->getEncQuoted($xmldb_field->getName()) . ' ' . $this->sequence_name; + return $this->getEncQuoted($xmldb_field->getName()) . ' ' . $sequencename; } } return $field; diff --git a/lib/xmldb/classes/generators/postgres7/postgres7.class.php b/lib/xmldb/classes/generators/postgres7/postgres7.class.php index 04fae195f6..dbf2e2eb46 100644 --- a/lib/xmldb/classes/generators/postgres7/postgres7.class.php +++ b/lib/xmldb/classes/generators/postgres7/postgres7.class.php @@ -39,6 +39,7 @@ class XMLDBpostgres7 extends XMLDBgenerator { var $sequence_extra_code = false; //Does the generator need to add extra code to generate the sequence fields var $sequence_name = 'BIGSERIAL'; //Particular name for inline sequences in this generator + var $sequence_name_small = 'SERIAL'; //Particular name for inline sequences in this generator var $sequence_only = true; //To avoid to output the rest of the field specs, leaving only the name and the sequence_name variable var $rename_table_extra_code = true; //Does the generator need to add code after table rename -- 2.39.5