From: Arthur Axel 'fREW' Schmidt Date: Thu, 3 Feb 2011 20:50:55 +0000 (-0600) Subject: Add datetime adding and now to Pg X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=c6b54adf4b0ee973ef409433498606b6c8c46829;p=dbsrgits%2FDBIx-Class.git Add datetime adding and now to Pg --- diff --git a/lib/DBIx/Class/SQLMaker/Pg.pm b/lib/DBIx/Class/SQLMaker/Pg.pm index 0f0e588..3b74042 100644 --- a/lib/DBIx/Class/SQLMaker/Pg.pm +++ b/lib/DBIx/Class/SQLMaker/Pg.pm @@ -3,6 +3,9 @@ package # Hide from PAUSE use base qw( DBIx::Class::SQLMaker ); use Carp::Clan qw/^DBIx::Class|^SQL::Abstract/; + +sub _datetime_now_sql { 'NOW()' } + { my %part_map = ( century => 'CENTURY', @@ -41,6 +44,21 @@ use Carp::Clan qw/^DBIx::Class|^SQL::Abstract/; unless exists $diff_part_map{$_[1]}; "EXTRACT($diff_part_map{$_[1]} FROM ($_[2] - $_[3]))" } + + sub _reorder_add_datetime_vars { + my ($self, $amount, $date) = @_; + + return ($date, $amount); + } + + sub _datetime_add_sql { + my ($self, $part, $date, $amount) = @_; + + die $self->_unsupported_date_adding($part, 'PostgreSQL') + unless exists $diff_part_map{$part}; + + return "($date + $amount || ' $part_map{$part}'))" + } } =head1 DATE FUNCTION IMPLEMENTATION