X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FSchema%2FLoader%2FDBI%2FInterBase.pm;h=1287f9d833672bde0288f54f0f8ba79d99ccdce9;hb=dc783fab900d073db1fb0e86b709cbb65bd364b7;hp=122c41e063d34c1c1d5e9c084c44a699b66ab874;hpb=c4a69b87bd3d3fdda08f05d363311a6e9d3fc0f7;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/lib/DBIx/Class/Schema/Loader/DBI/InterBase.pm b/lib/DBIx/Class/Schema/Loader/DBI/InterBase.pm index 122c41e..1287f9d 100644 --- a/lib/DBIx/Class/Schema/Loader/DBI/InterBase.pm +++ b/lib/DBIx/Class/Schema/Loader/DBI/InterBase.pm @@ -2,14 +2,14 @@ package DBIx::Class::Schema::Loader::DBI::InterBase; use strict; use warnings; -use mro 'c3'; use base qw/DBIx::Class::Schema::Loader::DBI/; +use mro 'c3'; use Carp::Clan qw/^DBIx::Class/; use List::Util 'first'; use namespace::clean; use DBIx::Class::Schema::Loader::Table (); -our $VERSION = '0.07010'; +our $VERSION = '0.07045'; sub _supports_db_schema { 0 } @@ -25,7 +25,7 @@ See L and L. =head1 COLUMN NAME CASE ISSUES By default column names from unquoted DDL will be generated in lowercase, for -consistency with other backends. +consistency with other backends. Set the L option to true if you would like to have column names in the internal case, which is @@ -121,7 +121,7 @@ EOF ); } - foreach my $fk (keys %$remote_table) { + foreach my $fk (sort keys %$remote_table) { push @rels, { local_columns => $local_cols->{$fk}, remote_columns => $remote_cols->{$fk}, @@ -150,8 +150,7 @@ EOF push @{$constraints->{$constraint_name}}, $self->_lc($column); } - my @uniqs = map { [ $_ => $constraints->{$_} ] } keys %$constraints; - return \@uniqs; + return [ map { [ $_ => $constraints->{$_} ] } sort keys %$constraints ]; } sub _columns_info_for { @@ -226,7 +225,7 @@ EOF $info->{data_type} = 'blob'; } elsif ($sub_type_name eq 'TEXT') { - if ($char_set_id == 3) { + if (defined $char_set_id && $char_set_id == 3) { $info->{data_type} = 'blob sub_type text character set unicode_fss'; } else { @@ -275,7 +274,7 @@ EOF if ($data_type =~ /^(?:char|varchar)\z/) { $info->{size} = $char_length; - if ($char_set_id == 3) { + if (defined $char_set_id && $char_set_id == 3) { $info->{data_type} .= '(x) character set unicode_fss'; } } @@ -316,9 +315,9 @@ EOF L, L, L -=head1 AUTHOR +=head1 AUTHORS -See L and L. +See L. =head1 LICENSE