From: Brandon L. Black Date: Mon, 14 Aug 2006 16:38:04 +0000 (+0000) Subject: added sth method to Storage::DBI::NoBindVars, updated related docs X-Git-Tag: v0.07002~40 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=b43345f2a2eb140856add78ff5e4e24d3cf8b906;p=dbsrgits%2FDBIx-Class.git added sth method to Storage::DBI::NoBindVars, updated related docs --- diff --git a/lib/DBIx/Class/Storage/DBI/NoBindVars.pm b/lib/DBIx/Class/Storage/DBI/NoBindVars.pm index 73c7b43..4ff6925 100644 --- a/lib/DBIx/Class/Storage/DBI/NoBindVars.pm +++ b/lib/DBIx/Class/Storage/DBI/NoBindVars.pm @@ -5,6 +5,35 @@ use warnings; use base 'DBIx::Class::Storage::DBI'; +=head1 NAME + +DBIx::Class::Storage::DBI::NoBindVars - Sometime DBDs have poor to no support for bind variables + +=head1 DESCRIPTION + +This class allows queries to work when the DBD or underlying library does not +support the usual C placeholders, or at least doesn't support them very +well, as is the case with L + +=head1 METHODS + +=head2 sth + +Uses C instead of the usual C, seeing as we can't cache very effectively without bind variables. + +=cut + +sub sth { + my ($self, $sql) = @_; + return $self->dbh->prepare($sql); +} + +=head2 _execute + +Manually subs in the values for the usual C placeholders before calling L on the generated SQL. + +=cut + sub _execute { my ($self, $op, $extra_bind, $ident, @args) = @_; my ($sql, @bind) = $self->sql_maker->$op($ident, @args); @@ -45,23 +74,10 @@ sub _execute { return (wantarray ? ($rv, $sth, @bind) : $rv); } -1; - -=head1 NAME - -DBIx::Class::Storage::DBI::NoBindVars - Sometime DBDs have poor to no support for bind variables - -=head1 SYNOPSIS - -=head1 DESCRIPTION - -This class allows queries to work when the DBD or underlying library does not -support the usual C placeholders, or at least doesn't support them very -well, as is the case with L - =head1 AUTHORS Brandon Black + Trym Skaar =head1 LICENSE @@ -69,3 +85,5 @@ Trym Skaar You may distribute this code under the same terms as Perl itself. =cut + +1;