SQL-Admin
view release on metacpan or search on metacpan
lib/SQL/Admin/Driver/Pg/Producer.pm view on Meta::CPAN
package SQL::Admin::Driver::Pg::Producer;
use base qw( SQL::Admin::Driver::Base::Producer );
use strict;
use warnings;
our $VERSION = v0.5.0;
######################################################################
use SQL::Admin::Driver::Pg::Keywords qw( :all );
our %DATA_TYPE_MAP = (
);
######################################################################
our $ESCAPE_ALL_IDENTIFIERS = 0;
our $ESCAPE_NONRESERVED_KEYWORDS = 0;
our $ESCAPE_SQL_KEYWORDS = 0;
######################################################################
our %REFERENTIAL_ACTION = (
cascade => [ 'CASCADE' ],
no_action => [ 'NO', 'ACTION' ],
restrict => [ 'RESTRICT' ],
set_null => [ 'SET', 'NULL' ],
);
######################################################################
######################################################################
sub _escape_identifier { # ;
my ($self, $identifier) = @_;
my $lc = lc $identifier;
$identifier = '"' . $identifier . '"'
if $ESCAPE_ALL_IDENTIFIERS
|| $RESERVED_KEYWORDS{ $lc }
|| ($ESCAPE_NONRESERVED_KEYWORDS && $NONRESERVED_KEYWORDS{ $lc })
|| ($ESCAPE_SQL_KEYWORDS && $SQL_KEYWORDS{ $lc })
;
##################################################################
$identifier;
}
######################################################################
######################################################################
sub data_type { # ;
my ($self, $data, $parent) = @_;
return 'serial' if $parent->{autoincrement};
$data = $DATA_TYPE_MAP{lc $data}
if exists $DATA_TYPE_MAP{lc $data};
$self->SUPER::data_type ($data, $parent);
}
######################################################################
######################################################################
sub current_timestamp { # ;
'CURRENT_TIMESTAMP';
}
######################################################################
######################################################################
sub current_time { # ;
'CURRENT_TIME';
}
######################################################################
######################################################################
sub current_date { # ;
'CURRENT_DATE';
}
( run in 1.396 second using v1.01-cache-2.11-cpan-39bf76dae61 )