Augment 1363f0f5 for running in hell
Peter Rabbitson [Sat, 7 Dec 2013 05:53:00 +0000 (06:53 +0100)]
SQLite produces extra warnings on Win32 even with an appropriate IV_SIZE

lib/DBIx/Class/Storage/DBI/SQLite.pm
lib/DBIx/Class/_Util.pm

index a1a84c0..18f87ae 100644 (file)
@@ -257,7 +257,11 @@ sub bind_attribute_by_data_type {
 # DBD::SQLite warns on binding >32 bit values with 32 bit IVs
 sub _dbh_execute {
   if (
-    DBIx::Class::_ENV_::IV_SIZE < 8
+    (
+      DBIx::Class::_ENV_::IV_SIZE < 8
+        or
+      DBIx::Class::_ENV_::OS_NAME eq 'MSWin32'
+    )
       and
     ! defined $DBD::SQLite::__DBIC_CHECK_dbd_mishandles_bound_BIGINT
   ) {
@@ -272,7 +276,15 @@ sub _dbh_execute {
         |
       \d+ \s type \s @{[ DBI::SQL_BIGINT() ]} \s as \s [-+]? \d+ (?: \. 0*)?
     )
-  /x ) if DBIx::Class::_ENV_::IV_SIZE < 8 and $DBD::SQLite::__DBIC_CHECK_dbd_mishandles_bound_BIGINT;
+  /x ) if (
+    (
+      DBIx::Class::_ENV_::IV_SIZE < 8
+        or
+      DBIx::Class::_ENV_::OS_NAME eq 'MSWin32'
+    )
+      and
+    $DBD::SQLite::__DBIC_CHECK_dbd_mishandles_bound_BIGINT
+  );
 
   shift->next::method(@_);
 }
index 7430dfd..cf7443f 100644 (file)
@@ -35,6 +35,8 @@ BEGIN {
     ASSERT_NO_INTERNAL_WANTARRAY => $ENV{DBIC_ASSERT_NO_INTERNAL_WANTARRAY} ? 1 : 0,
 
     IV_SIZE => $Config{ivsize},
+
+    OS_NAME => $^O,
   };
 
   if ($] < 5.009_005) {