X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Finflate%2Fdatetime_mssql.t;h=edbac144752933fc2b5e83d9c2c395b8dfdd8a69;hb=d587f67adadbedf890fdd68147e28f5d002874a5;hp=1c32f10dfe027e7ed2a71a4eace175491540427d;hpb=65d351219882184861384aedac6f251b6797d0d7;p=dbsrgits%2FDBIx-Class.git diff --git a/t/inflate/datetime_mssql.t b/t/inflate/datetime_mssql.t index 1c32f10..edbac14 100644 --- a/t/inflate/datetime_mssql.t +++ b/t/inflate/datetime_mssql.t @@ -29,13 +29,6 @@ plan skip_all => 'Test needs ' . $dsn3 && DBIx::Class::Optional::Dependencies->req_ok_for('test_rdbms_mssql_ado')) or (not $dsn || $dsn2 || $dsn3); -# use this if you keep a copy of DBD::Sybase linked to FreeTDS somewhere else -BEGIN { - if (my $lib_dirs = $ENV{DBICTEST_MSSQL_PERL5LIB}) { - unshift @INC, $_ for split /:/, $lib_dirs; - } -} - if (not ($dsn || $dsn2 || $dsn3)) { plan skip_all => 'Set $ENV{DBICTEST_MSSQL_ODBC_DSN} and/or $ENV{DBICTEST_MSSQL_DSN} and/or ' @@ -92,6 +85,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 = ( @@ -145,8 +150,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 @@ -155,5 +174,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'); } }