don't required => 1 when lazy & default specified
[dbsrgits/SQL-Translator-2.0-ish.git] / lib / SQL / Translator / Parser / DBI / PostgreSQL.pm
1 package SQL::Translator::Parser::DBI::PostgreSQL;
2 use namespace::autoclean;
3 use Moose::Role;
4 use MooseX::Types::Moose qw(Str);
5
6 has '+schema_name' => (
7   isa => Str,
8   lazy => 1,
9   default => 'public'
10 );
11
12 sub _get_view_sql {
13     my $self = shift;
14     my $view = shift;
15
16     my ($sql) = $self->dbh->selectrow_array("SELECT pg_get_viewdef('$view'::regclass)");
17     return $sql;
18 }
19
20 sub _is_auto_increment {
21     my $self = shift;
22     my $column_info = shift;
23
24     return $column_info->{COLUMN_DEF} && $column_info->{COLUMN_DEF} =~ /^nextval\(/ ? 1 : 0;
25 }
26
27 sub _column_default_value {
28     my $self = shift;
29     my $column_info = shift;
30     my $default_value = $column_info->{COLUMN_DEF};
31
32     if (defined $default_value) {
33         $default_value =~ s/::.*$//
34     }
35     return $default_value;
36 }
37
38 1;