fix a spelling mistake and abstract some code into functions
[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,
8 required => 1,
9 lazy => 1,
10 default => 'public'
11);
12
684763c1 13sub _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}
cc73c25e 20
641ce7d8 21sub _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
28sub _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
cc73c25e 391;