[Bast-commits] r7138 - in DBIx-Class/0.08/branches/sybase: lib/DBIx/Class/Storage/DBI t/inflate t/lib/DBICTest/Schema

caelum at dev.catalyst.perl.org caelum at dev.catalyst.perl.org
Thu Jul 30 08:21:22 GMT 2009


Author: caelum
Date: 2009-07-30 08:21:20 +0000 (Thu, 30 Jul 2009)
New Revision: 7138

Modified:
   DBIx-Class/0.08/branches/sybase/lib/DBIx/Class/Storage/DBI/Sybase.pm
   DBIx-Class/0.08/branches/sybase/t/inflate/datetime_sybase.t
   DBIx-Class/0.08/branches/sybase/t/lib/DBICTest/Schema/Track.pm
Log:
better test for "smalldatetime" in Sybase

Modified: DBIx-Class/0.08/branches/sybase/lib/DBIx/Class/Storage/DBI/Sybase.pm
===================================================================
--- DBIx-Class/0.08/branches/sybase/lib/DBIx/Class/Storage/DBI/Sybase.pm	2009-07-30 08:12:45 UTC (rev 7137)
+++ DBIx-Class/0.08/branches/sybase/lib/DBIx/Class/Storage/DBI/Sybase.pm	2009-07-30 08:21:20 UTC (rev 7138)
@@ -419,14 +419,13 @@
 
   for my $col (keys %$blob_cols) {
     my $blob = $blob_cols->{$col};
-    my $sth;
 
     my %where = map { ($_, $row{$_}) } @primary_cols;
     my $cursor = $source->resultset->search(\%where, {
       select => [$col]
     })->cursor;
     $cursor->next;
-    $sth = $cursor->sth;
+    my $sth = $cursor->sth;
 
     eval {
       do {

Modified: DBIx-Class/0.08/branches/sybase/t/inflate/datetime_sybase.t
===================================================================
--- DBIx-Class/0.08/branches/sybase/t/inflate/datetime_sybase.t	2009-07-30 08:12:45 UTC (rev 7137)
+++ DBIx-Class/0.08/branches/sybase/t/inflate/datetime_sybase.t	2009-07-30 08:21:20 UTC (rev 7138)
@@ -43,13 +43,15 @@
 
   isa_ok( $schema->storage, "DBIx::Class::Storage::$storage_type" );
 
+# coltype, col, date
   my @dt_types = (
-    ['DATETIME', '2004-08-21T14:36:48.080Z'],
-    ['SMALLDATETIME', '2004-08-21T14:36:00.000Z'], # minute precision
+    ['DATETIME', 'last_updated_at', '2004-08-21T14:36:48.080Z'],
+# minute precision
+    ['SMALLDATETIME', 'small_dt', '2004-08-21T14:36:00.000Z'],
   );
   
   for my $dt_type (@dt_types) {
-    my ($type, $sample_dt) = @$dt_type;
+    my ($type, $col, $sample_dt) = @$dt_type;
 
     eval { $schema->storage->dbh->do("DROP TABLE track") };
     $schema->storage->dbh->do(<<"SQL");
@@ -57,21 +59,21 @@
    trackid INT IDENTITY PRIMARY KEY,
    cd INT,
    position INT,
-   last_updated_on $type,
+   $col $type,
 )
 SQL
     ok(my $dt = DateTime::Format::Sybase->parse_datetime($sample_dt));
 
     my $row;
     ok( $row = $schema->resultset('Track')->create({
-          last_updated_on => $dt,
+          $col => $dt,
           cd => 1,
         }));
     ok( $row = $schema->resultset('Track')
-      ->search({ trackid => $row->trackid }, { select => ['last_updated_on'] })
+      ->search({ trackid => $row->trackid }, { select => [$col] })
       ->first
     );
-    is( $row->updated_date, $dt, 'DateTime roundtrip' );
+    is( $row->$col, $dt, 'DateTime roundtrip' );
   }
 }
 

Modified: DBIx-Class/0.08/branches/sybase/t/lib/DBICTest/Schema/Track.pm
===================================================================
--- DBIx-Class/0.08/branches/sybase/t/lib/DBICTest/Schema/Track.pm	2009-07-30 08:12:45 UTC (rev 7137)
+++ DBIx-Class/0.08/branches/sybase/t/lib/DBICTest/Schema/Track.pm	2009-07-30 08:21:20 UTC (rev 7138)
@@ -30,6 +30,10 @@
     data_type => 'datetime',
     is_nullable => 1
   },
+  small_dt => { # for mssql and sybase DT tests
+    data_type => 'smalldatetime',
+    is_nullable => 1
+  },
 );
 __PACKAGE__->set_primary_key('trackid');
 




More information about the Bast-commits mailing list