Add numeric/decimal precision support to DB2 producer
Peter Rabbitson [Sat, 3 Oct 2009 18:01:27 +0000 (18:01 +0000)]
lib/SQL/Translator/Producer/DB2.pm
t/43xml-to-db2.t
t/44-xml-to-db2-array.t

index a343674..0244546 100644 (file)
@@ -306,7 +306,7 @@ sub create_field
     my $field_def = "$field_name $data_type";
     $field_def .= $field->is_auto_increment ? 
         ' GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1)' : '';
-    $field_def .= $data_type =~ /(CHAR|CLOB)/i ? "(${size})" : '';
+    $field_def .= $data_type =~ /(CHAR|CLOB|NUMERIC|DECIMAL)/i ? "(${size})" : '';
     $field_def .= !$field->is_nullable ? ' NOT NULL':'';
 #            $field_def .= $field->is_primary_key ? ' PRIMARY KEY':'';
     $field_def .= !defined $field->default_value ? '' : 
index 02a7bfd..a14a665 100644 (file)
@@ -53,6 +53,7 @@ DROP TABLE Another;
 
 CREATE TABLE Another (
   id INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1) NOT NULL,
+  num NUMERIC(10,2),
   PRIMARY KEY (id)
 );
 
index c09d850..d4f5a54 100644 (file)
@@ -51,6 +51,7 @@ q|CREATE TABLE Basic (
 
 q|CREATE TABLE Another (
   id INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1) NOT NULL,
+  num NUMERIC(10,2),
   PRIMARY KEY (id)
 );|,