[Bast-commits] r7440 - in DBIx-Class/0.08/branches/sybase/lib/DBIx/Class/Storage/DBI: . Sybase

ribasushi at dev.catalyst.perl.org ribasushi at dev.catalyst.perl.org
Sun Aug 30 07:15:42 GMT 2009


Author: ribasushi
Date: 2009-08-30 07:15:41 +0000 (Sun, 30 Aug 2009)
New Revision: 7440

Modified:
   DBIx-Class/0.08/branches/sybase/lib/DBIx/Class/Storage/DBI/NoBindVars.pm
   DBIx-Class/0.08/branches/sybase/lib/DBIx/Class/Storage/DBI/Sybase/NoBindVars.pm
Log:
Change should_quote_value to interpolate_unquoted to make it harder to stop quoting by accident (it's easier to return a undef by accident than a 1)

Modified: DBIx-Class/0.08/branches/sybase/lib/DBIx/Class/Storage/DBI/NoBindVars.pm
===================================================================
--- DBIx-Class/0.08/branches/sybase/lib/DBIx/Class/Storage/DBI/NoBindVars.pm	2009-08-30 07:07:00 UTC (rev 7439)
+++ DBIx-Class/0.08/branches/sybase/lib/DBIx/Class/Storage/DBI/NoBindVars.pm	2009-08-30 07:15:41 UTC (rev 7440)
@@ -63,7 +63,7 @@
         if $datatype;
 
       $data = $self->_dbh->quote($data)
-        if (!$datatype || $self->should_quote_value($datatype, $data));
+        unless $self->interpolate_unquoted($datatype, $data);
 
       $new_sql .= shift(@sql_part) . $data;
     }
@@ -73,15 +73,15 @@
   return ($new_sql, []);
 }
 
-=head2 should_quote_value
+=head2 interpolate_unquoted
 
 This method is called by L</_prep_for_execute> for every column in
 order to determine if its value should be quoted or not. The arguments
 are the current column data type and the actual bind value. The return
-value is interpreted as: true - do quote, false - do not quote. You should
+value is interpreted as: true - do not quote, false - do quote. You should
 override this in you Storage::DBI::<database> subclass, if your RDBMS
 does not like quotes around certain datatypes (e.g. Sybase and integer
-columns). The default method always returns true (do quote).
+columns). The default method always returns false (do quote).
 
  WARNING!!!
 
@@ -90,9 +90,9 @@
 
 =cut
 
-sub should_quote_value {
+sub interpolate_unquoted {
   #my ($self, $datatype, $value) = @_;
-  return 1;
+  return 0;
 }
 
 =head2 _prep_interpolated_value

Modified: DBIx-Class/0.08/branches/sybase/lib/DBIx/Class/Storage/DBI/Sybase/NoBindVars.pm
===================================================================
--- DBIx-Class/0.08/branches/sybase/lib/DBIx/Class/Storage/DBI/Sybase/NoBindVars.pm	2009-08-30 07:07:00 UTC (rev 7439)
+++ DBIx-Class/0.08/branches/sybase/lib/DBIx/Class/Storage/DBI/Sybase/NoBindVars.pm	2009-08-30 07:15:41 UTC (rev 7440)
@@ -32,23 +32,19 @@
     numeric => $decimal,
 );
 
-sub should_quote_value {
+sub interpolate_unquoted {
   my $self = shift;
   my ($type, $value) = @_;
 
   return $self->next::method(@_) if not defined $value or not defined $type;
 
   if (my $key = List::Util::first { $type =~ /$_/i } keys %noquote) {
-    return 0 if $noquote{$key}->($value);
-  } elsif ($self->is_datatype_numeric($type) && $number->($value)) {
-    return 0;
+    return 1 if $noquote{$key}->($value);
   }
+  elsif ($self->is_datatype_numeric($type) && $number->($value)) {
+    return 1;
+  }
 
-## try to guess based on value
-#  elsif (not $type) {
-#    return 0 if $number->($value) || $noquote->{money}->($value);
-#  }
-
   return $self->next::method(@_);
 }
 




More information about the Bast-commits mailing list