Method
RBRhythmDBquery_preprocess
Declaration [src]
void
rhythmdb_query_preprocess (
RhythmDB* db,
RhythmDBQuery* query
)
Description [src]
Preprocesses a query to prepare it for execution. This has two main roles: to perform expensive data transformations once per query, rather than once per entry, and converting criteria to lower-level forms that are implemented by the database backend.
For RHYTHMDB_PROP_SEARCH_MATCH, this converts the search terms into an array of case-folded words.
When matching against case-folded properties such as
RHYTHMDB_PROP_TITLE_FOLDED, this case-folds the query value.
When performing year-based criteria such as #RHYTHMDB_QUERY_PROP_YEAR_LESS, it converts the year into the Julian date such that a simple numeric comparison will work.
Parameters
query
-
Type:
RhythmDBQuery
Query to preprocess.
The data is owned by the caller of the method.