Home Man
Today's Posts

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

CentOS 7.0 - man page for dbi::gofer::execute (centos section 3)

DBI::Gofer::Execute(3)	       User Contributed Perl Documentation	   DBI::Gofer::Execute(3)

       DBI::Gofer::Execute - Executes Gofer requests and returns Gofer responses

	 $executor = DBI::Gofer::Execute->new( { ...config... });

	 $response = $executor->execute_request( $request );

       Accepts a DBI::Gofer::Request object, executes the requested DBI method calls, and returns
       a DBI::Gofer::Response object.

       Any error, including any internal 'fatal' errors are caught and converted into a
       DBI::Gofer::Response object.

       This module is usually invoked by a 'server-side' Gofer transport module.  They usually
       have names in the ""DBI::Gofer::Transport::*"" namespace.  Examples include:
       DBI::Gofer::Transport::stream and DBI::Gofer::Transport::mod_perl.

       If defined, it must be a reference to a subroutine that will 'check' the request.  It is
       passed the request object and the executor as its only arguments.

       The subroutine can either return the original request object or die with a suitable error
       message (which will be turned into a Gofer response).

       It can also construct and return a new request that should be executed instead of the
       original request.

       If defined, it must be a reference to a subroutine that will 'check' the response.  It is
       passed the response object, the executor, and the request object.  The sub may alter the
       response object and return undef, or return a new response object.

       This mechanism can be used to, for example, terminate the service if specific database
       errors are seen.

       If set, this DSN is always used instead of the one in the request.

       If set, this DSN is used if "forced_connect_dsn" is not set and the request does not
       contain a DSN itself.

       A reference to a hash of connect() attributes. Individual attributes in
       "forced_connect_attributes" will take precedence over corresponding attributes in the

       A reference to a hash of connect() attributes. Individual attributes in the request take
       precedence over corresponding attributes in "default_connect_attributes".

       If set, the loaded drivers will be checked to ensure they don't have more than this number
       of cached connections. There is no default value. This limit is not enforced for every

       If set, all the cached statement handles will be cleared once the number of cached
       statement handles rises above this limit. The default is 1000.

       If true, then only the first result set will be fetched and returned in the response.

       A reference to a data structure that can specify extra attributes to be returned in

	 forced_response_attributes => {
	     DriverName => {
		 dbh => [ qw(dbh_attrib_name) ],
		 sth => [ qw(sth_attrib_name) ],

       This can be useful in cases where the driver has not implemented the
       private_attribute_info() method and DBI::Gofer::Execute's own fallback list of private
       attributes doesn't include the driver or attributes you need.

       If set, specifies the number of recent requests and responses that should be kept by the
       update_stats() method for diagnostics. See DBI::Gofer::Transport::mod_perl.

       Note that this setting can significantly increase memory use. Use with caution.

       Enable forced random failures and/or delays for testing. See "DBI_GOFER_RANDOM" below.

       Gofer needs to know about any driver-private attributes that should have their values sent
       back to the client.

       If the driver doesn't support private_attribute_info() method, and very few do, then the
       module fallsback to using some hard-coded details, if available, for the driver being
       used. Currently hard-coded details are available for the mysql, Pg, Sybase, and SQLite

       DBD::Gofer, DBD::Execute and related packages are well tested by executing the DBI test
       suite with DBI_AUTOPROXY configured to route all DBI calls via DBD::Gofer.

       Because Gofer includes timeout and 'retry on error' mechanisms there is a need for some
       way to trigger delays and/or errors. This can be done via the "forced_gofer_random"
       configuration item, or else the DBI_GOFER_RANDOM environment variable.

       The value of the "forced_gofer_random" configuration item (or else the DBI_GOFER_RANDOM
       environment variable) is treated as a series of tokens separated by commas.

       The tokens can be one of three types:

	   Set the current failure rate to R where R is a percentage.  The value R can be
	   floating point, e.g., "fail=0.05%".	Negative values for R have special meaning, see

	   Sets the current failure err value to N (instead of the DBI's default 'standard err
	   value' of 2000000000). This is useful when you want to simulate a specific error.

	   Set the current random delay rate to R where R is a percentage, and set the current
	   delay duration to N seconds. The values of R and N can be floating point, e.g.,
	   "delay0.5=0.2%".  Negative values for R have special meaning, see below.

	   If R is an odd number (R % 2 == 1) then a message is logged via warn() which will be
	   returned to, and echoed at, the client.

	   Applies the current fail, err, and delay values to the named method.  If neither a
	   fail nor delay have been set yet then a warning is generated.

       For example:

	 $executor = DBI::Gofer::Execute->new( {
	   forced_gofer_random => "fail=0.01%,do,delay60=1%,execute",

       will cause the do() method to fail for 0.01% of calls, and the execute() method to fail
       0.01% of calls and be delayed by 60 seconds on 1% of calls.

       If the percentage value ("R") is negative then instead of the failures being triggered
       randomly (via the rand() function) they are triggered via a sequence number. In other
       words ""fail=-20%"" will mean every fifth call will fail.  Each method has a distinct
       sequence number.

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

       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.

perl v5.16.3				    2013-04-04			   DBI::Gofer::Execute(3)

All times are GMT -4. The time now is 11:18 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
Show Password