move to MooseX::Declare
[dbsrgits/SQL-Translator-2.0-ish.git] / lib / SQL / Translator / Parser / DBI / PostgreSQL.pm
1 use MooseX::Declare;
2 role SQL::Translator::Parser::DBI::PostgreSQL {
3     use MooseX::Types::Moose qw(HashRef Str);
4     use SQL::Translator::Types qw(View);
5     
6     has '+schema_name' => (
7       isa => Str,
8       lazy => 1,
9       default => 'public'
10     );
11     
12     method _get_view_sql(View $view) {
13         my ($sql) = $self->dbh->selectrow_array("SELECT pg_get_viewdef('$view'::regclass)");
14         return $sql;
15     }
16     
17     method _is_auto_increment(HashRef $column_info) {
18         return $column_info->{COLUMN_DEF} && $column_info->{COLUMN_DEF} =~ /^nextval\(/ ? 1 : 0;
19     }
20     
21     method _column_default_value(HashRef $column_info) {
22         my $default_value = $column_info->{COLUMN_DEF};
23     
24         if (defined $default_value) {
25             $default_value =~ s/::.*$//
26         }
27         return $default_value;
28     }
29 }