X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Finflate%2Fdatetime_mssql.t;h=ae97a46b11513a2bba6cd595d503012eeb849b33;hb=ghpr%2Fclosed%2Finspiring_eef9b484;hp=7f0173b23f67a3fe367d772df200502d1c7f0820;hpb=a0034ff6946ef2782a34d5c1f333eb448833e46f;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/t/inflate/datetime_mssql.t b/t/inflate/datetime_mssql.t index 7f0173b..ae97a46 100644 --- a/t/inflate/datetime_mssql.t +++ b/t/inflate/datetime_mssql.t @@ -2,6 +2,7 @@ use strict; use warnings; use Test::More; +use Test::Exception; use Scope::Guard (); use Try::Tiny; use DBIx::Class::Optional::Dependencies (); @@ -91,6 +92,18 @@ CREATE TABLE event_small_dt ( small_dt SMALLDATETIME, ) SQL + try { local $^W = 0; $schema->storage->dbh->do("DROP TABLE event") }; + $schema->storage->dbh->do(<<"SQL"); +CREATE TABLE event ( + id int IDENTITY(1,1) NOT NULL, + starts_at smalldatetime NULL, + created_on datetime NULL, + varchar_date varchar(20) NULL, + varchar_datetime varchar(20) NULL, + skip_inflation datetime NULL, + ts_without_tz datetime NULL +) +SQL # coltype, column, source, pk, create_extra, datehash my @dt_types = ( @@ -144,8 +157,22 @@ SQL 'DateTime fractional portion roundtrip' ) if exists $sample_dt->{nanosecond}; } + + # Check for bulk insert SQL_DATE funtimes when using DBD::ODBC and sqlncli + # dbi:ODBC:driver=SQL Server Native Client 10.0;server=10.6.0.9;database=odbctest; + lives_ok { + $schema->resultset('Event')->populate([{ + id => 1, + starts_at => undef, + },{ + id => 2, + starts_at => '2011-03-22', + }]) + } 'populate with datetime does not throw'; + ok ( my $row = $schema->resultset('Event')->find(2), 'SQL_DATE bulk insert check' ); } + done_testing; # clean up our mess @@ -154,5 +181,6 @@ sub cleanup { if (my $dbh = eval { $schema->storage->dbh }) { $dbh->do('DROP TABLE track'); $dbh->do('DROP TABLE event_small_dt'); + $dbh->do('DROP TABLE event'); } }