org.mmbase.storage.search |
package description
Provides interfaces for retrieval of data from
{@link org.mmbase.storage.search.SearchQuery SearchQuery} objects.
|
Java Source File Name | Type | Comment |
AggregatedField.java | Interface | A field in an aggregated query. |
CompareFieldsConstraint.java | Interface | A constraint that compares the value of two stepfields. |
CompositeConstraint.java | Interface | A constraint combining several child constraints, using either logical AND or OR. |
Constraint.java | Interface | A constaint on the search results. |
DateSortOrder.java | Interface | A datesortorder specifies sorting of a single date field. |
FieldCompareConstraint.java | Interface | A constraint that compares a stepfield value with another value. |
FieldConstraint.java | Interface | A constraint on a stepfield. |
FieldNullConstraint.java | Interface | A constraint that tests if a stepfield value is null. |
FieldValueBetweenConstraint.java | Interface | A constraint that restricts the value of a stepfield to be in a specified
range of values (numerical or string).
This corresponds to the use of "between ... |
FieldValueConstraint.java | Interface | A constraint that compares a stepfield value with a fixed value. |
FieldValueDateConstraint.java | Interface | |
FieldValueInConstraint.java | Interface | A constraint that restricts the value of a stepfield to be in a specified list of values. |
FunctionValueConstraint.java | Interface | This class can solve the following.
= PROBLEM ==
The following query will be fired upon the database when somebody
tries to login:
8000ms:
SELECT otype,owner,number,firstname,account,lastname,email,description,password
FROM vpro4_users users WHERE lowerEmail(email)='' AND lowerEmail(password)=''
The lower-function is slowing down the login-procedure, because the lower-function
will force a sequential-scan.
So an functional index should be used to query the table, but informix can't put an index
on a table with a function which is not variant;
-= SOLUTION =-
Use a wrapper to facilitate the variant version of lower and use this to query the database.
Squirrel-the-database-client seems to have a problem with these kinds of queries; use the
utility classes in cinema-importers -> importer -> CreateProcedure
- create an notvariant function of lower:
javac CreateProcedure.java && java -cp /usr/local/SQuirreL\ SQL\ Client/lib/ifxjdbc.jar:. |
LegacyConstraint.java | Interface | Constraint represented by a string, as it appears in the where-clause
of an SQL query. |
RelationStep.java | Interface | A relationstep refers to a table of relations between the previous and next step. |
ResultBuilder.java | Class | A ResultBuilder is a builder for
ResultNode ResultNodes , that represent the results of executing
an arbitrary search query. |
ResultNode.java | Class | A ResultNode is a virtual node, used to represent
the result of executing an arbitrary search query.
The fields of this node correspond to the fields of the
result of the query. |
SearchQuery.java | Interface | Encapsulates a request for a search of the object cloud. |
SearchQueryException.java | Class | Exception thrown by the methods that process search queries. |
SearchQueryHandler.java | Interface | Defines methods for an object that handles search query requests. |
SortOrder.java | Interface | A sortorder specifies sorting of a single field. |
Step.java | Interface | A step refers to a table in a search request. |
StepField.java | Interface | A stepfield refers to a field in a step. |
StringSearchConstraint.java | Interface | A constraint specifically for advanced types of text searches.
In addition to searchterms, a search type and a
match type can be specified:
The search type specifies how the search is performed:
Must be one of:
The match type specifies how individual words in the
search terms are matched with words in the searched text.
The searchterms may containt the following wildchard characters as well:
- % for any string
- _ for a single character
Depending on searchtype and searchmode, the following parameters
can be set:
|