manpagez: man pages & more
man DBD::Gofer::Transport::Base(3)
Home | html | info | man

DBD::Gofer::Transport::Base(3)




NAME

       DBD::Gofer::Transport::Base - base class for DBD::Gofer client
       transports


SYNOPSIS

         my $remote_dsn = "..."
         DBI->connect("dbi:Gofer:transport=...;url=...;timeout=...;retry_limit=...;dsn=$remote_dsn",...)

       or, enable by setting the DBI_AUTOPROXY environment variable:

         export DBI_AUTOPROXY='dbi:Gofer:transport=...;url=...'

       which will force all DBI connections to be made via that Gofer server.


DESCRIPTION

       This is the base class for all DBD::Gofer client transports.


ATTRIBUTES

       Gofer transport attributes can be specified either in the attributes
       parameter of the connect() method call, or in the DSN string. When used
       in the DSN string, attribute names don't have the "go_" prefix.

       go_dsn

       The full DBI DSN that the Gofer server should connect to on your
       behalf.

       When used in the DSN it must be the last element in the DSN string.

       go_timeout

       A time limit for sending a request and receiving a response. Some
       drivers may implement sending and receiving as separate steps, in which
       case (currently) the timeout applies to each separately.

       If a request needs to be resent then the timeout is restarted for each
       sending of a request and receiving of a response.

       go_retry_limit

       The maximum number of times an request may be retried. The default is
       2.

       go_retry_hook

       This subroutine reference is called, if defined, for each response
       received where $response->err is true.

       The subroutine is pass three parameters: the request object, the
       response object, and the transport object.

       If it returns an undefined value then the default retry behaviour is
       used. See "RETRY ON ERROR" below.

       If it returns a defined but false value then the request is not resent.

       If it returns true value then the request is resent, so long as the
       number of retries does not exceed "go_retry_limit".


RETRY ON ERROR

       The default retry on error behaviour is:

        - Retry if the error was due to DBI_GOFER_RANDOM. See L<DBI::Gofer::Execute>.

        - Retry if $request->is_idempotent returns true. See L<DBI::Gofer::Request>.

       A retry won't be allowed if the number of previous retries has reached
       "go_retry_limit".


TRACING

       Tracing of gofer requests and reponses can be enabled by setting the
       "DBD_GOFER_TRACE" environment variable. A value of 1 gives a reasonably
       compact summary of each request and response. A value of 2 or more
       gives a detailed, and voluminous, dump.

       The trace is written using DBI->trace_msg() and so is written to the
       default DBI trace output, which is usually STDERR.


AUTHOR

       Tim Bunce, <http://www.tim.bunce.name>


LICENCE AND COPYRIGHT

       Copyright (c) 2007, Tim Bunce, Ireland. All rights reserved.

       This module is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself. See perlartistic.


SEE ALSO

       DBD::Gofer(3), DBI::Gofer::Request(3), DBI::Gofer::Response(3),
       DBI::Gofer::Execute(3).

       and some example transports:

       DBD::Gofer::Transport::stream(3)

       DBD::Gofer::Transport::http(3)

       DBI::Gofer::Transport::mod_perl(3)



perl v5.10.0                      2008-06-16    DBD::Gofer::Transport::Base(3)

Mac OS X 10.6 - Generated Thu Sep 17 20:11:19 CDT 2009
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.