Scope::Upper somehow confuses pseudofork on older perls - investigation pending
[dbsrgits/DBIx-Class.git] / t / inflate / datetime_mssql.t
index 1c32f10..ae97a46 100644 (file)
@@ -92,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 = (
@@ -145,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
@@ -155,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');
   }
 }