<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">package DBD::Gofer::Policy::rush;

#   $Id: rush.pm 10087 2007-10-16 12:42:37Z Tim $
#
#   Copyright (c) 2007, Tim Bunce, Ireland
#
#   You may distribute under the terms of either the GNU General Public
#   License or the Artistic License, as specified in the Perl README file.

use strict;
use warnings;

our $VERSION = "0.010088";

use base qw(DBD::Gofer::Policy::Base);

__PACKAGE__-&gt;create_policy_subs({

    # always use connect_cached on server
    connect_method =&gt; 'connect_cached',

    # use same methods on server as is called on client
    # (because code not using placeholders would bloat the sth cache)
    prepare_method =&gt; '',

    # Skipping the connect check is fast, but it also skips
    # fetching the remote dbh attributes!
    # Make sure that your application doesn't need access to dbh attributes.
    skip_connect_check =&gt; 1,

    # most code doesn't rely on sth attributes being set after prepare
    skip_prepare_check =&gt; 1,

    # we're happy to use local method if that's the same as the remote
    skip_default_methods =&gt; 1,

    # ping is almost meaningless for DBD::Gofer and most transports anyway
    skip_ping =&gt; 1,

    # don't update dbh attributes at all
    # XXX actually we currently need dbh_attribute_update for skip_default_methods to work
    # and skip_default_methods is more valuable to us than the cost of dbh_attribute_update
    dbh_attribute_update =&gt; 'none', # actually means 'first' currently
    #dbh_attribute_list =&gt; undef,

    # we'd like to set locally_* but can't because drivers differ

    # in a rush assume metadata doesn't change
    cache_tables =&gt; 1,
    cache_table_info =&gt; 1,
    cache_column_info =&gt; 1,
    cache_primary_key_info =&gt; 1,
    cache_foreign_key_info =&gt; 1,
    cache_statistics_info =&gt; 1,
    cache_get_info =&gt; 1,
});


1;

=head1 NAME

DBD::Gofer::Policy::rush - The 'rush' policy for DBD::Gofer

=head1 SYNOPSIS

  $dbh = DBI-&gt;connect("dbi:Gofer:transport=...;policy=rush", ...)

=head1 DESCRIPTION

The C&lt;rush&gt; policy tries to make as few round-trips as possible.
It's the opposite end of the policy spectrum to the C&lt;pedantic&gt; policy.

Temporary docs: See the source code for list of policies and their defaults.

In a future version the policies and their defaults will be defined in the pod and parsed out at load-time.

=head1 AUTHOR

Tim Bunce, L&lt;http://www.tim.bunce.name&gt;

=head1 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 L&lt;perlartistic&gt;.

=cut

</pre></body></html>