X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FSQLMaker%2FMSSQL.pm;h=b9a572c996f10d97848391c634e59609e1527eb6;hb=2aedbd3d7c89c0789e47234a5bb7b02f5e699698;hp=30b0c96e803be08cea297df49647e79999514c39;hpb=d5dedbd62928f65a9071b4d9b6d56c6b663a073b;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/SQLMaker/MSSQL.pm b/lib/DBIx/Class/SQLMaker/MSSQL.pm index 30b0c96..b9a572c 100644 --- a/lib/DBIx/Class/SQLMaker/MSSQL.pm +++ b/lib/DBIx/Class/SQLMaker/MSSQL.pm @@ -2,7 +2,6 @@ package # Hide from PAUSE DBIx::Class::SQLMaker::MSSQL; use base qw( DBIx::Class::SQLMaker ); -use Carp::Clan qw/^DBIx::Class|^SQL::Abstract/; # # MSSQL does not support ... OVER() ... RNO limits @@ -11,4 +10,19 @@ sub _rno_default_order { return \ '(SELECT(1))'; } +{ + my %part_map = ( + month => 'mm', + day_of_month => 'dd', + year => 'yyyy', + ); + + my %diff_part_map = %part_map; + $diff_part_map{day} = delete $diff_part_map{day_of_month}; + + sub _datetime_sql { "DATEPART('$part_map{$_[1]}', $_[2])" } + sub _datetime_diff_sql { "DATEDIFF('$diff_part_map{$_[1]}', $_[2], $_[3])" } +} + + 1;