don't required => 1 when lazy & default specified
[dbsrgits/SQL-Translator-2.0-ish.git] / lib / SQL / Translator / Parser / DBI / PostgreSQL.pm
CommitLineData
cc73c25e 1package SQL::Translator::Parser::DBI::PostgreSQL;
abb2c327 2use namespace::autoclean;
684763c1 3use Moose::Role;
4use MooseX::Types::Moose qw(Str);
b8657f04 5
abb2c327 6has '+schema_name' => (
684763c1 7 isa => Str,
684763c1 8 lazy => 1,
9 default => 'public'
10);
11
684763c1 12sub _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}
cc73c25e 19
641ce7d8 20sub _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
27sub _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
cc73c25e 381;