GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Text::Query::BuildSQL(3) User Contributed Perl Documentation Text::Query::BuildSQL(3)

Text::Query::BuildSQL - Base class for SQL query builders

    package Text::Query::BuildSQLsqldb;

    use Text::Query::BuildSQL;
    
    use vars qw(@ISA);

    @ISA = qw(Text::Query::BuildSQL);

Defines all the "build_*" functions to build a syntax tree. The tree nodes are [ operator scope operand operand... ]. The "build_final_expression" function translate the syntax tree in a "where" clause using the "resolve" method. If the scope of the search is not specified (simple query or advanced query without scope operator), the scope is set to the list of comma separated fields provided by the "-fields_searched" option. The resulting "where" clause is placed in the "select" order provided with the "-select" option, if any.

The string enclosed in single quotes must match exactly. The <string> token stands for an arbitrary string. A description enclosed in [something ...] means repeated 0 or N times.

 expr: 'or' scope expr [expr ...]
       'and' scope expr [expr ...]
       'not' scope expr
       'near' scope expr_literal expr_literal
       'forbiden' scope expr_literal [expr_literal ...]
       'mandatory' scope expr_literal [expr_literal ...]
       'optional' scope expr_literal [expr_literal ...]
       'literal' scope <string>

 expr_literal: literal scope <string>

 scope: <string>

resolve([], Q1)
Returns a "where" clause string corresponding to the "Q1" syntax tree.
sortplusminus([], Q1)
Translate the "mandatory" and "forbiden" syntactic nodes to their boolean equivalents. If it "has_relevance" returns false and there is at least one "mandatory" word, the first "mandatory" word is added to the list of "optional" words.
has_relevance()
Returns true if relevance ranking is possible, false if not. It is used by the "sortplusminus" function. Returns false by default.

If relevance ranking is not possible, the semantic of the simple search is slighthly modified. When asking for "+a b c" it shows all the documents containing "a" and ("b" or "c").

The normal behaviour is to return all the documents containing "a" and to sort them to show first those containing ("b" or "c"). When relevance ranking is not available the "b", "c" search terms are therefore useless. That is why we decided to change the semantic of the query if no relevance ranking is available.

-select STRING
If provided the string returned by "build_final_expression" substitutes the "__WHERE__" tag with the "where" string generated by the "resolve" function. The substituted string is the return value of the "build_final_expression".

If not set the return value of the "build_final_expression" is the result of the "resolve" function.

-fields_searched FIELDS_LIST
"FIELDS_LIST" is a list of comma separated field names. It is used as the default scope if no scope is provided in the query string. The "build_final_expression" function will "croak" if this option is not provided and no scope operator were used.

Text::Query(3) Text::Query::Build(3)

Loic Dachary (loic@senga.org)
2000-12-27 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.