From: Brandon L. Black <blblack@gmail.com> 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<DBD::Sybase> + +=head1 METHODS + +=head2 sth + +Uses C<prepare> instead of the usual C<prepare_cached>, 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</sth> 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<DBD::Sybase> - =head1 AUTHORS Brandon Black <blblack@gmail.com> + Trym Skaar <trym@tryms.no> =head1 LICENSE @@ -69,3 +85,5 @@ Trym Skaar <trym@tryms.no> You may distribute this code under the same terms as Perl itself. =cut + +1;