Provided by: libbio-perl-perl_1.7.2-2_all bug


       Bio::DB::GFF::Adaptor::dbi::caching_handle -- Cache for database handles


        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;


       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

       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.


       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:

        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

        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.

        Title   : debug
        Usage   : $debug = $db->debug([$debug])
        Function: activate debugging messages
        Returns : current state of flag
        Args    : optional new setting of flag
        Status  : public

        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;




       Report to the author.


       DBI, Bio::DB::GFF, bioperl


       Lincoln Stein <>.

       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.

perl v5.26.1                                2017-1Bio::DB::GFF::Adaptor::dbi::caching_handle(3pm)