Add datetime adding and now to Pg
Arthur Axel 'fREW' Schmidt [Thu, 3 Feb 2011 20:50:55 +0000 (14:50 -0600)]
lib/DBIx/Class/SQLMaker/Pg.pm

index 0f0e588..3b74042 100644 (file)
@@ -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