74 #ifndef QOF_QUERYNEW_H 75 #define QOF_QUERYNEW_H 86 #define QOF_MOD_QUERY "qof.query" 102 #define QOF_QUERY_FIRST_TERM QOF_QUERY_AND 105 #define QUERY_DEFAULT_SORT "QofQueryDefaultSort" 108 #define QOF_PARAM_BOOK "book" 109 #define QOF_PARAM_GUID "guid" 112 #define QOF_PARAM_KVP "kvp" 113 #define QOF_PARAM_ACTIVE "active" 114 #define QOF_PARAM_VERSION "version" 126 void qof_query_shutdown (
void);
332 void qof_query_set_sort_options (
QofQuery *q, gint prim_op, gint sec_op,
347 gboolean sec_inc, gboolean tert_inc);
void qof_query_add_term(QofQuery *query, QofQueryParamList *param_list, QofQueryPredData *pred_data, QofQueryOp op)
This is the general function that adds a new Query Term to a query.
void qof_query_set_sort_order(QofQuery *q, QofQueryParamList *primary_sort_params, QofQueryParamList *secondary_sort_params, QofQueryParamList *tertiary_sort_params)
When a query is run, the results are sorted before being returned.
void qof_query_purge_terms(QofQuery *q, QofQueryParamList *param_list)
Remove query terms of a particular type from q.
const gchar * QofIdTypeConst
QofIdTypeConst declaration.
globally unique ID User API
QofQuery * qof_query_copy(QofQuery *q)
Make a copy of the indicated query.
gboolean qof_query_equal(const QofQuery *q1, const QofQuery *q2)
Compare two queries for equality.
void qof_query_set_sort_increasing(QofQuery *q, gboolean prim_inc, gboolean sec_inc, gboolean tert_inc)
When a query is run, the results are sorted before being returned.
GSList QofQueryParamList
A list of parameters (QofIdType) used to describe a parameter to use in a predicate or when sorting...
void qof_query_set_max_results(QofQuery *q, int n)
Set the maximum number of results that should be returned.
const gchar * QofIdType
QofIdType declaration.
int qof_query_num_terms(QofQuery *q)
Return the number of terms in the canonical form of the query.
API for providing core Query data types.
GList * qof_query_run_subquery(QofQuery *subquery, const QofQuery *primary_query)
Perform a subquery, return the results.
void qof_query_destroy(QofQuery *q)
Frees the resources associate with a Query object.
void qof_query_init(void)
Subsystem initialization and shutdown.
void qof_query_set_book(QofQuery *q, QofBook *book)
Set the book to be searched.
QofQuery * qof_query_merge(QofQuery *q1, QofQuery *q2, QofQueryOp op)
Combine two queries together using the Boolean set (logical) operator 'op'.
QofQuery * qof_query_invert(QofQuery *q)
Make a copy of the indicated query, inverting the sense of the search.
void qof_query_clear(QofQuery *query)
Remove all query terms from query.
gboolean qof_query_has_term_type(QofQuery *q, QofQueryParamList *term_param)
DOCUMENT ME !!
void qof_query_add_guid_match(QofQuery *q, QofQueryParamList *param_list, const GncGUID *guid, QofQueryOp op)
DOCUMENT ME !!
Encapsulate all the information about a dataset.
GList * qof_query_last_run(QofQuery *query)
Return the results of the last query, without causing the query to be re-run.
QofQueryOp
Query Term Operators, for combining Query Terms.
GList * qof_query_run(QofQuery *query)
Perform the query, return the results.
QofIdType qof_query_get_search_for(const QofQuery *q)
Return the type of data we're querying for.
int qof_query_has_terms(QofQuery *q)
Return boolean FALSE if there are no terms in the query Can be used as a predicate to see if the quer...
void qof_query_add_boolean_match(QofQuery *q, QofQueryParamList *param_list, gboolean value, QofQueryOp op)
Handy-dandy convenience routines, avoids having to create a separate predicate for boolean matches...
The type used to store guids in C.
QofQuery * qof_query_create(void)
Create a new query.
void qof_query_add_guid_list_match(QofQuery *q, QofQueryParamList *param_list, GList *guid_list, QofGuidMatch options, QofQueryOp op)
DOCUMENT ME !!
void qof_query_search_for(QofQuery *query, QofIdTypeConst obj_type)
Set the object type to be searched for.
GList * qof_query_get_books(QofQuery *q)
Return the list of books we're using.
void qof_query_merge_in_place(QofQuery *q1, QofQuery *q2, QofQueryOp op)
Like qof_query_merge, but this will merge a copy of q2 into q1.