Use numeric format for bigint columns
Dagfinn Ilmari Mannsåker [Tue, 29 Nov 2011 16:40:09 +0000 (16:40 +0000)]
Use bigint column in test to cope with DBD::SQLite bind type changes.

Changes
lib/DBIx/Class/InflateColumn/IP.pm
t/lib/DBICTest/Schema/Host.pm

diff --git a/Changes b/Changes
index 7fb9b91..b9d75c6 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,8 @@
 Revision history for DBIx::Class::InflateColumn::IP
 
+       - Use numeric format for bigint columns.
+       - Use bigint column in test to cope with DBD::SQLite bind type changes.
+
 0.02001 Sun Jun 17 20:27:34 2007
        - Initial version of format autodetection, based solely on column type.
 
index ba4a3d5..a37dfa1 100644 (file)
@@ -22,7 +22,7 @@ appropriate format.
     __PACKAGE__->load_components(qw/InflateColumn::IP Core/);
     __PACKAGE__->add_columns(
         ip_address => {
-            data_type => 'integer',
+            data_type => 'bigint',
             is_nullable => 0,
             is_ip => 1,
             ip_format => 'numeric',
@@ -48,8 +48,9 @@ Then you can treat the specified column as a NetAddr::IP object.
 
 DBIx::Class::InflateColumn::IP supports a limited amount of
 auto-detection of the format based on the column type. If the type
-begins with C<int>, it's assumed to be numeric, while C<inet> and
-C<cidr> (as used by e.g. PostgreSQL) are assumed to be C<cidr> format.
+begins with C<int> or C<bigint>, it's assumed to be numeric, while
+C<inet> and C<cidr> (as used by e.g. PostgreSQL) are assumed to be
+C<cidr> format.
 
 =head1 METHODS
 
@@ -109,7 +110,7 @@ sub register_column {
 }
 
 my @format_map = (
-  { type => qr/^int/i,            format => 'numeric' },
+  { type => qr/^(?:big)?int/i, format => 'numeric' },
   { type => qr{^(?:inet|cidr)$}i, format => 'cidr' },
 );
 
index 5f1d99f..53ee9f7 100644 (file)
@@ -12,7 +12,7 @@ __PACKAGE__->add_columns(
         is_nullable => 0,
     },
     address => {
-        data_type   => 'integer',
+        data_type   => 'bigint',
         is_nullable => 0,
         is_ip       => 1,
     }