|
NAMESearch::QueryParser::SQL - turn free-text queries into SQL WHERE clausesSYNOPSISuse Search::QueryParser::SQL; my $parser = Search::QueryParser::SQL->new( columns => [qw( first_name last_name email )] ); my $query = $parser->parse('joe smith', 1); # 1 for explicit AND print $query; # prints: # (first_name='joe' OR last_name='joe' OR email='joe') AND \ # (first_name='smith' OR last_name='smith' OR email='smith') # for the DBI my $query = $parser->parse('foo'); print $query->dbi->[0]; # prints # (first_name=? OR last_name=? OR email=?) # wildcard support my $query = $parser->parse('foo*'); print $query; # prints # (first_name ILIKE 'foo%' OR last_name ILIKE 'foo%' OR email ILIKE 'foo%') DESCRIPTIONSearch::QueryParser::SQL is a subclass of Search::QueryParser. Chiefly it extends the unparse() method to stringify free-text search queries as valid SQL WHERE clauses.The idea is to allow you to treat your database like a free-text search index, when it really isn't. METHODSOnly new or overridden method are documented here.new( args )Returns a new Parser. In addition to the args documented in Search::QueryParser, this new() method supports additional args:
parse( string [, implicit_AND] )Acts like parse() method in Search::QueryParser, but returns a Search::QueryParser::SQL::Query object.If a second, true, value is passed as implicit_AND, the query is assumed to "AND" terms together. The default is to "OR" them together. columnsGet/set the column descriptions, which is a hashref of Search::QueryParser::SQL::Column objects keyed by the column name.get_column( name )Returns the Column object for name or croaks if it has not been defined.AUTHORPeter Karman, "<karman@cpan.org>"BUGSPlease report any bugs or feature requests to "bug-search-queryparser-sql@rt.cpan.org", or through the web interface at <http://rt.cpan.org>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.ACKNOWLEDGEMENTSThe Minnesota Supercomputing Institute "http://www.msi.umn.edu/" sponsored the development of this software.COPYRIGHT & LICENSECopyright 2008 by the Regents of the University of Minnesota.This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Visit the GSP FreeBSD Man Page Interface. |