Bio::DB::GFF::Adaptor::dbi::caching_handle(3pm) | User Contributed Perl Documentation | Bio::DB::GFF::Adaptor::dbi::caching_handle(3pm) |
NAME¶
Bio::DB::GFF::Adaptor::dbi::caching_handle -- Cache for database handles
SYNOPSIS¶
use Bio::DB::GFF::Adaptor::dbi::caching_handle; $db = Bio::DB::GFF::Adaptor::dbi::caching_handle->new('dbi:mysql:test'); $sth = $db->prepare('select * from foo'); @h = $sth->fetch_rowarray; $sth->finish
DESCRIPTION¶
This module handles a pool of database handles. It was motivated by the MYSQL driver's {mysql_use_result} attribute, which dramatically improves query speed and memory usage, but forbids additional query statements from being evaluated while an existing one is in use.
This module is a plug-in replacement for vanilla DBI. It automatically activates the {mysql_use_result} attribute for the mysql driver, but avoids problems with multiple active statement handlers by creating new database handles as needed.
USAGE¶
The object constructor is Bio::DB::GFF::Adaptor::dbi::caching_handle->new(). This is called like DBI->connect() and takes the same arguments. The returned object looks and acts like a conventional database handle.
In addition to all the standard DBI handle methods, this package adds the following:
dbi_quote¶
Title : dbi_quote Usage : $string = $db->dbi_quote($sql,@args) Function: perform bind variable substitution Returns : query string Args : the query string and bind arguments Status : public
This method replaces the bind variable "?" in a SQL statement with appropriately quoted bind arguments. It is used internally to handle drivers that don't support argument binding.
do_query¶
Title : do_query Usage : $sth = $db->do_query($query,@args) Function: perform a DBI query Returns : a statement handler Args : query string and list of bind arguments Status : Public
This method performs a DBI prepare() and execute(), returning a statement handle. You will typically call fetch() of fetchrow_array() on the statement handle. The parsed statement handle is cached for later use.
debug¶
Title : debug Usage : $debug = $db->debug([$debug]) Function: activate debugging messages Returns : current state of flag Args : optional new setting of flag Status : public
attribute¶
Title : attribute Usage : $value = $db->attribute(AttributeName , [$newvalue]) Function: get/set DBI::db handle attribute Returns : current state of the attribute Args : name of the attribute and optional new setting of attribute Status : public Under Bio::DB::GFF::Adaptor::dbi::caching_handle the DBI::db attributes that are usually set using hashref calls are unavailable. Use attribute() instead. For example, instead of: $dbh->{AutoCommit} = 0; use $dbh->attribute(AutoCommit=>0);
BUGS¶
Report to the author.
SEE ALSO¶
DBI, Bio::DB::GFF, bioperl
AUTHOR¶
Lincoln Stein <lstein@cshl.org>.
Copyright (c) 2001 Cold Spring Harbor Laboratory.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
2020-01-13 | perl v5.30.0 |