X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FSchema%2FLoader%2FDBI%2FPg.pm;h=117c19740111a5483573a6f29c5d1e3e3a2aa3a9;hb=d372611d61d0051ccbda0744b38d2244188fa3f8;hp=b1679aa21d71cd6a9bb32af6450f85cf234579b4;hpb=e52d195f8f7e0939fa325cf31e59804e00a30511;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/lib/DBIx/Class/Schema/Loader/DBI/Pg.pm b/lib/DBIx/Class/Schema/Loader/DBI/Pg.pm index b1679aa..117c197 100644 --- a/lib/DBIx/Class/Schema/Loader/DBI/Pg.pm +++ b/lib/DBIx/Class/Schema/Loader/DBI/Pg.pm @@ -5,7 +5,7 @@ use warnings; use base 'DBIx::Class::Schema::Loader::DBI::Component::QuotedDefault'; use mro 'c3'; -our $VERSION = '0.07034_01'; +our $VERSION = '0.07036'; =head1 NAME @@ -43,7 +43,7 @@ sub _system_schemas { my %pg_rules = ( a => 'NO ACTION', r => 'RESTRICT', - c => 'CASCADE,', + c => 'CASCADE', n => 'SET NULL', d => 'SET DEFAULT', ); @@ -95,7 +95,7 @@ EOF }; } - return [ values %rels ]; + return [ map { $rels{$_} } sort keys %rels ]; } @@ -293,12 +293,14 @@ EOF if ($typetype && $typetype eq 'e') { # The following will extract a list of allowed values for the # enum. + my $order_column = $self->dbh->{pg_server_version} >= 90100 ? 'enumsortorder' : 'oid'; my $typevalues = $self->dbh ->selectall_arrayref(<{data_type}); SELECT e.enumlabel FROM pg_catalog.pg_enum e JOIN pg_catalog.pg_type t ON t.oid = e.enumtypid WHERE t.typname = ? +ORDER BY e.$order_column EOF $info->{extra}{list} = [ map { $_->[0] } @$typevalues ];