Provided by: libclass-dbi-perl_3.0.17-4_all bug

NAME

       Class::DBI::Search::Basic - Simple Class::DBI search

SYNOPSIS

               my $searcher = Class::DBI::Search::Basic->new(
                       $cdbi_class, @search_args
               );

               my @results = $searcher->run_search;

               # Over in your Class::DBI subclass:

               __PACKAGE__->add_searcher(
                       search  => "Class::DBI::Search::Basic",
                 isearch => "Class::DBI::Search::Plugin::CaseInsensitive",
               );

DESCRIPTION

       This is the start of a pluggable Search infrastructure for Class::DBI.

       At the minute Class::DBI::Search::Basic doubles up as both the default search within
       Class::DBI as well as the search base class. We will probably need to tease this apart
       more later and create an abstract base class for search plugins.

METHODS

   new
               my $searcher = Class::DBI::Search::Basic->new(
                       $cdbi_class, @search_args
               );

       A Searcher is created with the class to which the results will belong, and the arguments
       passed to the search call by the user.

   opt
               if (my $order = $self->opt('order_by')) { ... }

       The arguments passed to search may contain an options hash. This will return the value of
       a given option.

   run_search
               my @results = $searcher->run_search;
               my $iterator = $searcher->run_search;

       Actually run the search.

SUBCLASSING

   sql / bind / fragment
       The actual mechanics of generating the SQL and executing it split up into a variety of
       methods for you to override.

       run_search() is implemented as:

         return $cdbi->sth_to_objects($self->sql, $self->bind);

       Where sql() is

         $cdbi->sql_Retrieve($self->fragment);

       There are also a variety of private methods underneath this that could be overridden in a
       pinch, but if you need to do this I'd rather you let me know so that I can make them
       public, or at least so that I don't remove them from under your feet.