{
    "mode": "perldoc",
    "parameter": "DBD::Gofer::Policy::Base",
    "section": "",
    "url": "https://www.chedong.com/phpMan.php/perldoc/DBD%3A%3AGofer%3A%3APolicy%3A%3ABase/json",
    "generated": "2026-06-13T05:05:17Z",
    "synopsis": "$dbh = DBI->connect(\"dbi:Gofer:transport=...;policy=...\", ...)",
    "sections": {
        "NAME": {
            "content": "DBD::Gofer::Policy::Base - Base class for DBD::Gofer policies\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "$dbh = DBI->connect(\"dbi:Gofer:transport=...;policy=...\", ...)\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "DBD::Gofer can be configured via a 'policy' mechanism that allows you to fine-tune the number of\nround-trips to the Gofer server. The policies are grouped into classes (which may be subclassed)\nand referenced by the name of the class.\n\nThe DBD::Gofer::Policy::Base class is the base class for all the policy classes and describes\nall the individual policy items.\n\nThe Base policy is not used directly. You should use a policy class derived from it.\n",
            "subsections": []
        },
        "POLICY CLASSES": {
            "content": "Three policy classes are supplied with DBD::Gofer:\n\nDBD::Gofer::Policy::pedantic is most 'transparent' but slowest because it makes more round-trips\nto the Gofer server.\n\nDBD::Gofer::Policy::classic is a reasonable compromise - it's the default policy.\n\nDBD::Gofer::Policy::rush is fastest, but may require code changes in your applications.\n\nGenerally the default \"classic\" policy is fine. When first testing an existing application with\nGofer it is a good idea to start with the \"pedantic\" policy first and then switch to \"classic\"\nor a custom policy, for final testing.\n",
            "subsections": []
        },
        "POLICY ITEMS": {
            "content": "These are temporary docs: See the source code for list of policies and their defaults.\n\nIn a future version the policies and their defaults will be defined in the pod and parsed out at\nload-time.\n\nSee the source code to this module for more details.\n",
            "subsections": []
        },
        "POLICY CUSTOMIZATION": {
            "content": "XXX This area of DBD::Gofer is subject to change.\n\nThere are three ways to customize policies:\n\nPolicy classes are designed to influence the overall behaviour of DBD::Gofer with existing,\nunaltered programs, so they work in a reasonably optimal way without requiring code changes. You\ncan implement new policy classes as subclasses of existing policies.\n\nIn many cases individual policy items can be overridden on a case-by-case basis within your\napplication code. You do this by passing a corresponding \"<go<policyname\">> attribute into DBI\nmethods by your application code. This lets you fine-tune the behaviour for special cases.\n\nThe policy items are implemented as methods. In many cases the methods are passed parameters\nrelating to the DBD::Gofer code being executed. This means the policy can implement dynamic\nbehaviour that varies depending on the particular circumstances, such as the particular\nstatement being executed.\n",
            "subsections": []
        },
        "AUTHOR": {
            "content": "Tim Bunce, <http://www.tim.bunce.name>\n",
            "subsections": []
        },
        "LICENCE AND COPYRIGHT": {
            "content": "Copyright (c) 2007, Tim Bunce, Ireland. All rights reserved.\n\nThis module is free software; you can redistribute it and/or modify it under the same terms as\nPerl itself. See perlartistic.\n",
            "subsections": []
        }
    },
    "summary": "DBD::Gofer::Policy::Base - Base class for DBD::Gofer policies",
    "flags": [],
    "examples": [],
    "see_also": []
}