Use equality, not comparison
Peter Rabbitson [Thu, 11 Jun 2009 14:15:53 +0000 (14:15 +0000)]
lib/DBIx/Class/ResultSource.pm
lib/DBIx/Class/Row.pm
lib/DBIx/Class/Storage/DBI.pm

index 0cc0074..aa636a7 100644 (file)
@@ -121,7 +121,7 @@ L<DBIx::Class::Schema/deploy>.
 Set this to a true or false value (not C<undef>) to explicitly specify
 if this column contains numeric data. This controls how set_column
 decides whether to consider a column dirty after an update: if
-C<is_numeric> is true a numeric comparison C<< <=> >> will take place
+C<is_numeric> is true a numeric comparison C<< != >> will take place
 instead of the usual C<eq>
 
 If not specified the storage class will attempt to figure this out on
index e583f2b..b2eee57 100644 (file)
@@ -793,7 +793,7 @@ sub set_column {
     }
 
     if ($colinfo->{is_numeric}) {
-      $dirty = $old_value <=> $new_value;
+      $dirty = $old_value != $new_value;
     }
     else {
       $dirty = 1;
index 77ef8b7..c6f13f5 100644 (file)
@@ -1564,7 +1564,7 @@ sub bind_attribute_by_data_type {
 Given a datatype from column_info, returns a boolean value indicating if
 the current RDBMS considers it a numeric value. This controls how
 L<DBIx::Class::Row/set_column> decides whether to mark the column as
-dirty - when the datatype is deemed numeric a C<< <=> >> comparison will
+dirty - when the datatype is deemed numeric a C<< != >> comparison will
 be performed instead of the usual C<eq>.
 
 =cut