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