[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