NAME
Search::Query::Dialect::SQL - SQL query dialect
SYNOPSIS
my $query = Search::Query->parser( dialect => 'SQL' )->parse('foo');
print $query;
DESCRIPTION
Search::Query::Dialect::SQL is a query dialect for Query objects returned by a Search::Query::Parser instance.
The SQL dialect class stringifies queries to work as SQL WHERE clauses. This behavior is similar to Search::QueryParser::SQL.
METHODS
This class is a subclass of Search::Query::Dialect. Only new or overridden methods are documented here.
BUILD
Called by new(). The new() constructor can accept the following params, which are also standard attribute accessors:
- wildcard
-
Default value is
%
. - quote_fields
-
Default value is "". Set to (for example)
`
to quote each field name in stringify() as some SQL variants require that syntax (e.g. mysql). - default_field
-
Override the default field set in Search::Query::Parser.
- fuzzify
-
Append wildcard() to all terms.
- fuzzify2
-
Prepend and append wildcard() to all terms.
- like
-
The SQL reserved word for wildcard comparison. Default value is
ILIKE
. - quote_char
-
The string to use for quoting strings. Default is
'
. - fuzzy_space
-
The string to use to pad fuzzified terms. Default is a single space
stringify
Returns the Query object as a normalized string.
stringify_clause( leaf, prefix )
Called by stringify() to handle each Clause in the Query tree.
get_field
Overrides default to set fuzzy_op and fuzzy_not_op.
field_class
Returns "Search::Query::Field::SQL".
AUTHOR
Peter Karman, <karman at cpan.org>
BUGS
Please report any bugs or feature requests to bug-search-query at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Search-Query. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Search::Query
You can also look for information at:
RT: CPAN's request tracker
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENTS
This module started as a fork of Search::QueryParser by Laurent Dami.
COPYRIGHT & LICENSE
Copyright 2010 Peter Karman.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.