4 #include <TupleSchema.h>
10 * A Query is an implementation of a generic ABI over relations. It's
11 * more or less a "virtual Relation" representing a logical composite
12 * access of actual relations, and as such its active part is held in
13 * a separate \ref Querytype record similar to how \ref ItemKeyFun
14 * records define valye types.
17 struct QueryCallbacks *def;
21 * \brief Creates an assignment Query.
23 * \param arity is the assignment tuple arity.
25 * \param names is the (char*) names to assign.
27 * \param values is the (void*) values to asign.
29 * The two tuples must have the same arity for assigning names[i] to
30 * values[i]. This Query makes the given names have the given values,
31 * once for each (*next) call following a (*reset) call.
35 extern Query *Query_assign(int arity,tuple *names,tuple *values);
38 * \brief Create a lookup_Query record for lookup data in a Relation.
40 extern Query *Query_lookup(Relation *r,...);