Commit | Line | Data |
8aac0b48 |
1 | package # Hide from PAUSE |
2 | DBIx::Class::SQLMaker::Pg; |
3 | |
4 | use base qw( DBIx::Class::SQLMaker ); |
5 | use Carp::Clan qw/^DBIx::Class|^SQL::Abstract/; |
6 | { |
7 | my %part_map = ( |
8 | month => 'MONTH', |
9 | day_of_month => 'DAY', |
10 | year => 'YEAR', |
11 | ); |
12 | |
2aedbd3d |
13 | my %diff_part_map = %part_map; |
14 | $diff_part_map{day} = delete $diff_part_map{day_of_month}; |
15 | |
8aac0b48 |
16 | sub _datetime_sql { "EXTRACT($part_map{$_[1]} FROM $_[2])" } |
2aedbd3d |
17 | sub _datetime_diff_sql { "EXTRACT($diff_part_map{$_[1]} FROM ($_[2] - $_[3]))" } |
8aac0b48 |
18 | } |
19 | |
20 | 1; |