For reasons unknown to us, DBIx is stringifying numeric values somewhere along 
the way. In order to ensure they come out numeric, we made this small patch:

--- a/lib/perl5/DBIx/Class/Row.pm
+++ b/lib/perl5/DBIx/Class/Row.pm
@@ -661,10 +661,15 @@ To retrieve all loaded column values as a hash, use 
L</get_columns>.
 sub get_column {
   my ($self, $column) = @_;
   $self->throw_exception( "Can't fetch data as class method" ) unless ref 
$self;
-  return $self->{_column_data}{$column} if exists 
$self->{_column_data}{$column};
+  if (exists $self->{_column_data}{$column}) {
+    return 0 + $self->{_column_data}{$column} if 
$self->_is_column_numeric($column);
+    return $self->{_column_data}{$column};
+  }
   if (exists $self->{_inflated_column}{$column}) {
-    return $self->store_column($column,
+    my $ret = $self->store_column($column,
       $self->_deflated_column($column, $self->{_inflated_column}{$column}));
+    return 0 + $ret if $self->_is_column_numeric($column);
+    return $ret;
   }
   $self->throw_exception( "No such column '${column}'" ) unless 
$self->has_column($column);
   return undef;

If there's a better way to do this, or some way to prevent DBIx from 
stringifying the values in the first place, that would be nice to know too. 
Thanks-

Augustus
_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/dbix-class@lists.scsys.co.uk

Reply via email to