Bumping version to 1.62
[dbsrgits/SQL-Translator.git] / lib / SQL / Translator / Producer / PostgreSQL.pm
index 66461f0..7520563 100644 (file)
@@ -22,7 +22,7 @@ Does not yet support PostGIS Views.
 use strict;
 use warnings;
 our ( $DEBUG, $WARN );
-our $VERSION = '1.59';
+our $VERSION = '1.62';
 $DEBUG = 0 unless defined $DEBUG;
 
 use base qw(SQL::Translator::Producer);
@@ -451,9 +451,7 @@ sub create_view {
         #
         if (is_geometry($field)) {
             foreach ( create_geometry_constraints($field, $options) ) {
-                my ($cdefs, $fks) = create_constraint($_, {
-                    generator => $generator,
-                });
+                my ($cdefs, $fks) = create_constraint($_, $options);
                 push @$constraint_defs, @$cdefs;
                 push @$fks, @$fks;
             }
@@ -653,7 +651,7 @@ sub convert_datatype
         $data_type = 'character varying';
     }
     elsif ( $field->is_auto_increment ) {
-        if ( defined $size[0] && $size[0] > 11 ) {
+        if ( (defined $size[0] && $size[0] > 11) or $data_type eq 'bigint' ) {
             $data_type = 'bigserial';
         }
         else {
@@ -787,7 +785,7 @@ sub alter_field
     # ALTER TABLE users ALTER COLUMN column SET DEFAULT ThisIsUnescaped;
     if(ref $default_value eq "SCALAR" ) {
         $default_value = $$default_value;
-    } elsif( defined $default_value && $to_dt =~ /^(character|text)/xsmi ) {
+    } elsif( defined $default_value && $to_dt =~ /^(character|text|timestamp|date)/xsmi ) {
         $default_value = __PACKAGE__->_quote_string($default_value);
     }
 
@@ -924,9 +922,7 @@ sub rename_table {
 sub alter_create_index {
     my ($index, $options) = @_;
     my $generator = _generator($options);
-    my ($idef, $constraints) = create_index($index, {
-        generator => $generator,
-    });
+    my ($idef, $constraints) = create_index($index, $options);
     return $index->type eq NORMAL ? $idef
         : sprintf('ALTER TABLE %s ADD %s',
               $generator->quote($index->table->name),