James Marca wrote:
From reading the docs, starting with
http://search.cpan.org/~frew/DBIx-Class-0.08115/lib/DBIx/Class/Storage/DBI.pm#DBIx::Class_specific_connection_attributes
and then linking to http://search.cpan.org/perldoc?DBI#prepare_cached,
I see this for 'prepare_cached':
Like "prepare" except that the statement handle returned will be
stored in a hash associated with the $dbh. If another call is made
to prepare_cached with the same $statement and %attr parameter
values, then the corresponding cached $sth will be returned without
contacting the database server.
So if I understand this correctly, what is happening is that
prepare_cached is caching a statement that depends on both the query
*and* the attributes of the query. And because my attributes change
with each $data_rs->search($query) line, I never end up resuing a
statement handle, right? What I want is to get a prepared statement
handle reused for a query with different bind values, without having
to dive down into the DBI connection to do it.
prepare_cached() does what you want. %attrs is the hash of attributes,
such as RaiseError or FetchHashKeyName, not the list of bind values.
The list of bind values isn't even passed to prepare_cached().
Ronald
_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[email protected]