fix a spelling mistake and abstract some code into functions
[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   required => 1,
9   lazy => 1,
10   default => 'public'
11 );
12
13 sub _get_view_sql {
14     my $self = shift;
15     my $view = shift;
16
17     my ($sql) = $self->dbh->selectrow_array("SELECT pg_get_viewdef('$view'::regclass)");
18     return $sql;
19 }
20
21 sub _is_auto_increment {
22     my $self = shift;
23     my $column_info = shift;
24
25     return $column_info->{COLUMN_DEF} && $column_info->{COLUMN_DEF} =~ /^nextval\(/ ? 1 : 0;
26 }
27
28 sub _column_default_value {
29     my $self = shift;
30     my $column_info = shift;
31     my $default_value = $column_info->{COLUMN_DEF};
32
33     if (defined $default_value) {
34         $default_value =~ s/::.*$//
35     }
36     return $default_value;
37 }
38
39 1;